[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-openjfx-dev
Subject: API Review: additional methods for StringExpression
From: michael.heinrichs () oracle ! com (Michael Heinrichs)
Date: 2012-09-24 14:41:14
Message-ID: 1FF26231-FE23-40EB-95FF-D5ECBC3867E1 () oracle ! com
[Download RAW message or body]
Thanks!
- Michael
On 21.09.2012, at 20:45, Richard Bair wrote:
> Michael,
>
> Sounds good to me, +1.
>
> On Sep 19, 2012, at 11:42 PM, Michael Heinrichs wrote:
>
> > Hi Sergey,
> >
> > thanks for your input. I'd rather keep isNotEmpty() for the following reasons:
> >
> > 1) Consistency. We already have a whole range of methods, that just negate the \
> > outcome of another method, e.g. isNotNull(), notEqual(), even lessThanOrEqual() \
> > etc. 2) Readability. Consider for example the two expressions below. The first \
> > one can easily be misunderstood, especially if you are new to the binding API. \
> > The second one is clear IMO. isEmpty(list1).not().and(isEmpty(list2))
> > isNotEmpty(list1).and(isEmpty(list2).
> > 3) Performance. Internally the isNotEmpty() method requires only half of the \
> > objects and less method calls when invalidating/calculating the binding.
> > Cheers,
> > Michael
> >
> >
> >
> > On 19.09.2012, at 13:22, Sergey Grinev wrote:
> >
> > > Hi, Michael.
> > >
> > > What do you think about removing isNotEmpty() methods given there is \
> > > BooleanBinding#not() method?
> > > -- Sergey
> > >
> > > On 17-Sep-12 15:25, Michael Heinrichs wrote:
> > > > Hi,
> > > >
> > > > I propose six new methods in the high level binding API, adding new \
> > > > functionality for ObservableStringValue's. JIRA issue: \
> > > > http://javafx-jira.kenai.com/browse/RT-21487
> > > > In StringExpression:
> > > > public IntegerBinding length();
> > > > public BooleanBinding isEmpty();
> > > > public BooleanBinding isNotEmpty();
> > > >
> > > > In Bindings:
> > > > public static IntegerBinding length(ObservableStringValue);
> > > > public static BooleanBinding isEmpty(ObservableStringValue);
> > > > public static BooleanBinding isNotEmpty(ObservableStringValue);
> > > >
> > > > As usual in the binding API, null is treated similar to an empty String, i.e. \
> > > > length() will return 0, isEmpty() will return true, if the value of an \
> > > > ObservableStringValue is null.
> > > >
> > > >
> > > > For consistency I would also like to add isNotEmpty() methods for collections \
> > > > in the Bindings class: public static <E> BooleanBinding \
> > > > isNotEmpty(ObservableList<E> op); public static <K, V> BooleanBinding \
> > > > isNotEmpty(ObservableMap<K, V> op); public static <E> BooleanBinding \
> > > > isNotEmpty(ObservableSet<E> op);
> > > > Thanks,
> > > > Michael
> > >
> >
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic