anino.net/">Janino compiler.
Specifically this filter uses the {@link org.codehaus.janino.ScriptEvaluator}, thus the syntax from that class is inherited here.
A script may use field names directly as parameters in the expression, or field positions with the syntax "$n", where n is an integer.
Given an argument tuple with the fields "a" and "b", the following script returns true:
boolean result = (a + b == $0 + $1);
return boolean;
Unlike an "expression" used by {@link ExpressionFilter}, a "script" requires each line to end in an semi-colon (@{code ;}) and the final line to be a {@code return} statement.
Further, the types of the tuple elements will be coerced into the given parameterTypes. Regardless of the actual tuple element values, they will be converted to the types expected by the script if possible.