[API Review] Property and expression conversion methods
Martin Sladecek
martin.sladecek at oracle.com
Thu Feb 21 03:20:20 PST 2013
As expressions already have asString() that returns StringBinding, I
think it's better to call it asObject(), but I don't strongly insist on
this name, asObjectExpression() is a good option too.
-martin
On 19.2.2013 23:30, steve.x.northover at oracle.com wrote:
> I understand. Since they are all a kind of expression, perhaps
> asObjectExpression() is the name we should use.
>
> Another possibility is to create a new instance of the adapter class
> explicitly (ie. new ReadOnlyObjectProperyAdapter(zzzz)) rather than
> zzzzx.asXXX()) method. Not sure if this is better or worse.
>
> Steve
>
> On 19/02/2013 3:26 PM, Martin Sladecek wrote:
>> As properties extend read only properties, which extend expressions,
>> using asObject() everywhere would mean we have only one method, which
>> return covariant return type in subclasses.
>>
>> Renaming these method will result in 3 method in property classes.
>> E.g. DoubleProperty would have:
>> ObjectExpression<Double> asObjectExpression();
>> ObjectReadOnlyProperty<Double> asReadOnlyObjectProperty();
>> ObjectProperty<Double> asObjectProperty();
>>
>> instead of just having
>>
>> ObjectProperty<Double> asObject();
>>
>> which overrides ObjectExpression<Double> asObject() from
>> DoubleExpression.
>>
>> -Martin
>>
>> On 02/19/2013 06:44 PM, steve.x.northover at oracle.com wrote:
>>> I agree. asObject seems a bit to general.
>>>
>>> Steve
>>>
>>> On 19/02/2013 12:23 PM, Richard Bair wrote:
>>>>> public ObjectExpression<Double> asObject();
>>>>> public ReadOnlyObjectProperty<Double> asObject();
>>>>> ObjectProperty<Double> asObject();
>>>>>
>>>>> public static<T extends Number> DoubleExpression
>>>>> doubleExpression(ObservableValue<T>)
>>>>> public static<T extends Number> ReadOnlyDoubleProperty
>>>>> readOnlyDoubleProperty(ReadOnlyProperty<T>);
>>>>> public static<T extends Number> DoubleProperty
>>>>> doubleProperty(Property<T>);
>>>> I wonder if we ought not use a consistent naming here, such as
>>>> asObjectProperty and asDoubleExpression? Also should it be asFoo or
>>>> toFoo? Is there a precedent?
>>>>
>>>> Richard
>>
More information about the openjfx-dev
mailing list