class ExpressionEvaluator
extends java.lang.Object
Performs internal caching for performance reasons.
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,Expression> |
conditionCache |
private java.util.Map<java.lang.String,Expression> |
keyCache |
static java.lang.Object |
NO_RESULT |
private ParameterNameDiscoverer |
paramNameDiscoverer |
private SpelExpressionParser |
parser |
private java.util.Map<java.lang.String,java.lang.reflect.Method> |
targetMethodCache |
private java.util.Map<java.lang.String,Expression> |
unlessCache |
Constructor and Description |
---|
ExpressionEvaluator() |
Modifier and Type | Method and Description |
---|---|
boolean |
condition(java.lang.String conditionExpression,
java.lang.reflect.Method method,
EvaluationContext evalContext) |
EvaluationContext |
createEvaluationContext(java.util.Collection<Cache> caches,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object target,
java.lang.Class<?> targetClass)
Create an
EvaluationContext without a return value. |
EvaluationContext |
createEvaluationContext(java.util.Collection<Cache> caches,
java.lang.reflect.Method method,
java.lang.Object[] args,
java.lang.Object target,
java.lang.Class<?> targetClass,
java.lang.Object result)
Create an
EvaluationContext . |
private Expression |
getExpression(java.util.Map<java.lang.String,Expression> cache,
java.lang.String expression,
java.lang.reflect.Method method) |
java.lang.Object |
key(java.lang.String keyExpression,
java.lang.reflect.Method method,
EvaluationContext evalContext) |
private java.lang.String |
toString(java.lang.reflect.Method method,
java.lang.String expression) |
boolean |
unless(java.lang.String unlessExpression,
java.lang.reflect.Method method,
EvaluationContext evalContext) |
public static final java.lang.Object NO_RESULT
private final SpelExpressionParser parser
private final ParameterNameDiscoverer paramNameDiscoverer
private final java.util.Map<java.lang.String,Expression> keyCache
private final java.util.Map<java.lang.String,Expression> conditionCache
private final java.util.Map<java.lang.String,Expression> unlessCache
private final java.util.Map<java.lang.String,java.lang.reflect.Method> targetMethodCache
public EvaluationContext createEvaluationContext(java.util.Collection<Cache> caches, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object target, java.lang.Class<?> targetClass)
EvaluationContext
without a return value.public EvaluationContext createEvaluationContext(java.util.Collection<Cache> caches, java.lang.reflect.Method method, java.lang.Object[] args, java.lang.Object target, java.lang.Class<?> targetClass, java.lang.Object result)
EvaluationContext
.caches
- the current cachesmethod
- the methodargs
- the method argumentstarget
- the target objecttargetClass
- the target classresult
- the return value (can be null
) or
NO_RESULT
if there is no return at this timepublic java.lang.Object key(java.lang.String keyExpression, java.lang.reflect.Method method, EvaluationContext evalContext)
public boolean condition(java.lang.String conditionExpression, java.lang.reflect.Method method, EvaluationContext evalContext)
public boolean unless(java.lang.String unlessExpression, java.lang.reflect.Method method, EvaluationContext evalContext)
private Expression getExpression(java.util.Map<java.lang.String,Expression> cache, java.lang.String expression, java.lang.reflect.Method method)
private java.lang.String toString(java.lang.reflect.Method method, java.lang.String expression)