public class MethodReference extends SpelNodeImpl
Modifier and Type | Class and Description |
---|---|
private static class |
MethodReference.CachedMethodExecutor |
private class |
MethodReference.MethodValueRef |
Modifier and Type | Field and Description |
---|---|
private MethodReference.CachedMethodExecutor |
cachedExecutor |
private java.lang.String |
name |
private boolean |
nullSafe |
children, pos
Constructor and Description |
---|
MethodReference(boolean nullSafe,
java.lang.String methodName,
int pos,
SpelNodeImpl... arguments) |
Modifier and Type | Method and Description |
---|---|
private MethodExecutor |
findAccessorForMethod(java.lang.String name,
java.util.List<TypeDescriptor> argumentTypes,
java.lang.Object targetObject,
EvaluationContext evaluationContext) |
private java.lang.Object[] |
getArguments(ExpressionState state) |
private java.util.List<TypeDescriptor> |
getArgumentTypes(java.lang.Object... arguments) |
private MethodExecutor |
getCachedExecutor(EvaluationContext evaluationContext,
java.lang.Object value,
TypeDescriptor target,
java.util.List<TypeDescriptor> argumentTypes) |
java.lang.String |
getName() |
private TypedValue |
getValueInternal(EvaluationContext evaluationContext,
java.lang.Object value,
TypeDescriptor targetType,
java.lang.Object[] arguments) |
TypedValue |
getValueInternal(ExpressionState state) |
protected ValueRef |
getValueRef(ExpressionState state) |
private void |
throwIfNotNullSafe(java.util.List<TypeDescriptor> argumentTypes) |
private void |
throwSimpleExceptionIfPossible(java.lang.Object value,
AccessException ae)
Decode the AccessException, throwing a lightweight evaluation exception or, if the
cause was a RuntimeException, throw the RuntimeException directly.
|
java.lang.String |
toStringAST() |
getChild, getChildCount, getEndPosition, getObjectClass, getPreviousChild, getStartPosition, getTypedValue, getValue, getValue, isWritable, nextChildIs, setValue
private final java.lang.String name
private final boolean nullSafe
private volatile MethodReference.CachedMethodExecutor cachedExecutor
public MethodReference(boolean nullSafe, java.lang.String methodName, int pos, SpelNodeImpl... arguments)
public final java.lang.String getName()
protected ValueRef getValueRef(ExpressionState state) throws EvaluationException
getValueRef
in class SpelNodeImpl
EvaluationException
public TypedValue getValueInternal(ExpressionState state) throws EvaluationException
getValueInternal
in class SpelNodeImpl
EvaluationException
private TypedValue getValueInternal(EvaluationContext evaluationContext, java.lang.Object value, TypeDescriptor targetType, java.lang.Object[] arguments)
private void throwIfNotNullSafe(java.util.List<TypeDescriptor> argumentTypes)
private java.lang.Object[] getArguments(ExpressionState state)
private java.util.List<TypeDescriptor> getArgumentTypes(java.lang.Object... arguments)
private MethodExecutor getCachedExecutor(EvaluationContext evaluationContext, java.lang.Object value, TypeDescriptor target, java.util.List<TypeDescriptor> argumentTypes)
private MethodExecutor findAccessorForMethod(java.lang.String name, java.util.List<TypeDescriptor> argumentTypes, java.lang.Object targetObject, EvaluationContext evaluationContext) throws SpelEvaluationException
SpelEvaluationException
private void throwSimpleExceptionIfPossible(java.lang.Object value, AccessException ae)
public java.lang.String toStringAST()
toStringAST
in interface SpelNode
toStringAST
in class SpelNodeImpl