Function Name | Description | Output Type | Parameters |
Conditionals.ifNull | Builds a conditional expression that evaluates to the value of a field, if non-null. Otherwise, it evaluates to the value of the replacement expression. The input field and replacement expression must evaluate to comparable types; the result is of the wider of the two types. The replacement value is only evaluated if the test field is null-valued. | Wider of the input field type and the replacement expression output type. | • Input data value • Replacement expression |
Conditionals.ifThenElse | Builds a conditional expression that evaluates to one of two sub-expressions based on the result of the given predicate. This is equivalent to to the ternary operator in Java: predicate ? trueValue : falseValue The sub-expressions must evaluate to comparable types; the result is of the wider of the two types. The result expressions are only evaluated as required; that is, only one of the value expressions will be evaluated per invocation. | Wider of the output types of the given sub-expressions. | • Boolean valued expression defining which sub-expression to use • Expression to use for true conditions • Expression to use for false conditions |
Conditionals.caseWhen | Builds a conditional expression that evaluates to one of many possible values, similarly to a switch or case statement. If a base expression is given, it is compared against each case expression, and when the first match is found, the associated return value (that with the same index as the matching case expression) is returned. If no base expression is given, each case expression must be a Boolean predicate. The first one that evaluates to true is considered a match, and the associated return value is returned. If no match is found, the function will return null, or, if a default result is given, that value. | Wider of the output types of the given result sub-expressions. | • Base expression to compare against each case (optional) • A list of case expressions • A list of result expressions, one for each case • A default result expression (optional) |