org.springframework.expression.spel.ast
Class FunctionReference
java.lang.Object
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.FunctionReference
- All Implemented Interfaces:
- SpelNode
public class FunctionReference
- extends SpelNodeImpl
A function reference is of the form "#someFunction(a,b,c)". Functions may be defined in the context prior to the
expression being evaluated or within the expression itself using a lambda function definition. For example: Lambda
function definition in an expression: "(#max = {|x,y|$x>$y?$x:$y};max(2,3))" Calling context defined function:
"#isEven(37)". Functions may also be static java methods, registered in the context prior to invocation of the
expression.
Functions are very simplistic, the arguments are not part of the definition (right now), so the names must be unique.
- Since:
- 3.0
- Author:
- Andy Clement
Methods inherited from class org.springframework.expression.spel.ast.SpelNodeImpl |
getChild, getChildCount, getEndPosition, getObjectClass, getPreviousChild, getStartPosition, getTypedValue, getValue, getValue, isWritable, nextChildIs, setValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FunctionReference
public FunctionReference(String functionName,
int pos,
SpelNodeImpl... arguments)
getValueInternal
public TypedValue getValueInternal(ExpressionState state)
throws EvaluationException
- Specified by:
getValueInternal
in class SpelNodeImpl
- Throws:
EvaluationException
toStringAST
public String toStringAST()
- Specified by:
toStringAST
in interface SpelNode
- Specified by:
toStringAST
in class SpelNodeImpl
- Returns:
- the string form of this AST node