Operators

Both conditions and filters use operators to compare data. Appfarm supports many different operators depending on the data type of the values you are comparing.

You can use comparison operators to check for equality or difference between two values. Logical operators check for the presence or absence of a value. To search for the presence of text in a value, string operators are available.

As an example, if you were to filter a data source on all active Projects, you would construct the filter Projects.Status EQUALS Active. EQUALS is the operator, Projects.State is the left operand and Active is the right operand.

Comparison operators

OperatorDescription

Equals

Check if two values match. Both values must be of the same data type.

Not equals

Check if two values do not match. Both values must be of the same data type.

<

Available for Integer, Float, and Datetime data types. Check if a value is less than another.

<=

Available for Integer, Float, and Datetime data types. Check if a value is less than or equal to another.

>

Available for Integer, Float, and Datetime data types. Check if a value is greater than another.

>=

Available for Integer, Float, and Datetime data types. Check if a value is less than or equal to another.

Warning

Properties with a Boolean data type can be undefined which is neither true nor false. Typically you should use Not equals true when comparing boolean values instead of Equals false to ensure you capture these values.

Logical operators

OperatorDescription

Is any of

Check for the presence of a value in another data source or static value. Both values must be of the same data type. It can also be used to check against enum values, for example Project.Status IS ANY OF New, Started.

Is none of

Check for the absence of a value in another data source or static value. Both values must be of the same data type. It can also be used to check against enum values, for example Project.Status IS NONE OF Completed, Archived.

Exists in

Available for Reference data type. Check for the presence of an object in another data source. The data source can be restricted to selected objects, not selected objects, or a filtered selection.

Not exists in

Available for Reference data type. Check for the absence of an object in another data source. The data source can be restricted to selected objects, not selected objects, or a filtered selection.

Has all of

Available for Reference data type with cardinality Many. Check if all of the IDs of the left operand are present in the data source of the right operand. In this case, the left operand is a multi-reference property, containing a list of IDs (references).

Has some of

Available for Reference data type with cardinality Many. Check if some of the IDs of the left operand are present in the data source of the right operand. In this case, the left operand is a multi-reference property, containing a list of IDs (references).

Has none of

Available for Reference data type with cardinality Many. Check if none of the IDs of the left operand are present in the data source of the right operand. In this case, the left operand is a multi-reference property, containing a list of IDs (references).

Has value

Check for the presence of a value, and that the property is not empty or set to null.

Has no value

Check for the absence of a value, such as when the property is empty or set to null.

String operators

When the left operand has a data type of String, the string operators are made available, and you can compare the value against another string. Note that these operators are not available when constructing filters in data sources. They are only available when constructing client-side conditions and filters in the UI or actions.

All string operators are case insensitive.

Example

To help describe how these operators work, we'll use the example of a data source filter. The data source has a property name (left operand), and we want to compare the value of that property with the text big blue button (right operand). The Results column in the table below describes what would be returned from the filter when using a given operator.

OperatorResults

Contains

Objects whose name property contains the exact phrase big blue button.

Contains all

Objects whose name property contains all three words big, blue, and button, including as part of larger words.

Contains all words

Objects whose name property contains all three standalone words big, blue, and button.

Contains any

Objects whose name property contains at least one of the three words big, blue, or button, including as part of larger words.

Not contains

Objects whose name property does not contain the exact phrase big blue button.

Not contains all

Objects whose name property does not contain all three words big, blue, and button, including as part of larger words.

Not contains all words

Objects whose name property does not contain all three standalone words big, blue, and button.

Not contains any

Objects whose name property does not contain any of the three words big, blue, or button, including as part of larger words.

Last updated