True and False (SelectionCriterion functions)
Create selection expression that returns any item or no items (SelectionCriterion class)
These shared methods take no parameters and create a new SelectionCriterion object.
A True criterion returns true for any collection item;
a False criterion returns false for any collection item.
True and False thus provide the equivalent of an empty SelectionCriterion, and they substitute for a New constructor in the SelectionCiterion class.
The collection searching method that makes use of a SelectionCriterion specifies:
- Whether to return the first item or item number or all items that satisfy the selection criterion.
- Where in the collection to begin searching.
Syntax
%selectionCriterion = [%(SelectionCriterion For itemType):]True
%selectionCriterion = [%(SelectionCriterion For itemType):]False
Syntax terms
%selectionCriterion | A SelectionCriterion object variable to contain the new object instance. |
---|---|
%(SelectionCriterion For itemtype) | For a shared function, this optional specification of the class in parentheses denotes a virtual constructor. See "Usage notes", below, for more information about invoking a SelectionCriterion virtual constructor. |
Usage Notes
-
As described in "Virtual Constructor methods", True and False can be invoked with
no method object, with an explicit class specification, or with an object variable of the class,
even if that object is Null:
- True and False exist to simplify dynamic SelectionCriterion
applications.
If you are dynamically generating a
SelectionCriterion, under some conditions you may want the criterion to select all
objects or to select no objects.
In addition, if you are building a SelectionCriterion by using
Or in conditions,
it might be useful to start out with a False SelectionCriterion:
%sel = False if <somecondition1> then %sel = Or(%sel, Eq(foo, 'A')) end if if <somecondition2> then %sel = Or(%sel, Eq(foo, 'B')) end if if <somecondition3> then %sel = Or(%sel, Eq(foo, 'C')) end if
Similarly, if building a SelectionCriterion by using And in conditions, it might be useful to start out with a True SelectionCriterion.
%selCrit = True %selCrit = %(SelectionCriterion for float):False %selCrit = %selCrit:True
Note: As shown in the second of these above, if you explicitly specify the class name, you must include the item datatype of the collection to be searched, just as on a SelectionCriterion object variable's declaration.
Examples
The following statements are equivalent:
%sel = and(ge(this, 22), true) %sel = ge(this, 22)