Skip to content

ALL

Description

With ALL, you evaluate if all values in the list is true.

Examples

ALL([true, true, false])

This evaluates to false, since one of the values in the list is false.

ALL(
    get_properties(instances(Person), 'is_onboarded')
)

In this example, we go over all the people in the current case and retrieve their value 'is_onboarded'. If all of these values are true, the whole expression is true. Thus, this evaluates true if everybody in the case has already been onboarded.

Empty lists

ALL([]) evaluates to true. When there are no elements to check, the condition "all elements satisfy the property" is vacuously true. Put differently, true is the identity for logical AND: starting from true and folding with AND over zero elements leaves the result at true.

This means a check like ALL(get_properties(instances(Person), 'is_onboarded')) returns true when there are no Person instances in the case. If you need to require at least one element, combine it with a count check, for example:

COUNT(instances(Person)) > 0 AND ALL(
    get_properties(instances(Person), 'is_onboarded')
)