| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| private class |
| Modifier and Type | Field and Description |
|---|---|
| private volatile MethodReference. | |
| private final String | |
| private final boolean | |
| private Character |
| Access | Constructor and Description |
|---|---|
| public | MethodReference(boolean nullSafe, String methodName, int startPos, int endPos, SpelNodeImpl... arguments)
|
| Modifier and Type | Method and Description |
|---|---|
| private MethodExecutor | findAccessorForMethod(List<TypeDescriptor> argumentTypes, Object targetObject, EvaluationContext evaluationContext)
|
| public void | generateCode(MethodVisitor
the ASM MethodVisitor into which code should be generated mv, CodeFlow a context object with info about what is on the stack cf)Overrides org. |
| private Object[] | |
| private List | |
| private MethodExecutor | getCachedExecutor(EvaluationContext evaluationContext, Object value, TypeDescriptor target, List<TypeDescriptor> argumentTypes)
|
| public final String | |
| public TypedValue | getValueInternal(ExpressionState state)
Implements abstract org. |
| private TypedValue | getValueInternal(EvaluationContext evaluationContext, Object value, TypeDescriptor targetType, Object[] arguments)
|
| protected ValueRef | |
| public boolean | isCompilable()
Overrides org. |
| public final boolean | |
| private void | |
| private void | throwSimpleExceptionIfPossible(Object value, AccessException ex)
Decode the AccessException, throwing a lightweight evaluation exception or, if the cause was a RuntimeException, throw the RuntimeException directly. |
| public String | toStringAST()
Implements org. |
| private void |
| cachedExecutor | back to summary |
|---|---|
| private volatile MethodReference. | |
| name | back to summary |
|---|---|
| private final String name | |
| nullSafe | back to summary |
|---|---|
| private final boolean nullSafe | |
| originalPrimitiveExitTypeDescriptor | back to summary |
|---|---|
| private Character originalPrimitiveExitTypeDescriptor
| |
| MethodReference | back to summary |
|---|---|
| public MethodReference(boolean nullSafe, String methodName, int startPos, int endPos, SpelNodeImpl... arguments) | |
| findAccessorForMethod | back to summary |
|---|---|
| private MethodExecutor findAccessorForMethod(List<TypeDescriptor> argumentTypes, Object targetObject, EvaluationContext evaluationContext) throws SpelEvaluationException | |
| generateCode | back to summary |
|---|---|
| public void generateCode(MethodVisitor mv, CodeFlow cf) Overrides org. Doc from org. Generate the bytecode for this node into the supplied visitor. Context info about the current expression being compiled is available in the codeflow object, e.g. including information about the type of the object currently on the stack.
| |
| getArguments | back to summary |
|---|---|
| private Object[] getArguments(ExpressionState state) | |
| getArgumentTypes | back to summary |
|---|---|
| private List | |
| getCachedExecutor | back to summary |
|---|---|
private MethodExecutor getCachedExecutor(EvaluationContext evaluationContext, Object value, TypeDescriptor target, List<TypeDescriptor> argumentTypes)
| |
| getName | back to summary |
|---|---|
| public final String getName() Get the name of the referenced method. | |
| getValueInternal | back to summary |
|---|---|
| public TypedValue getValueInternal(ExpressionState state) throws EvaluationException Implements abstract org.
| |
| getValueInternal | back to summary |
|---|---|
| private TypedValue getValueInternal(EvaluationContext evaluationContext, Object value, TypeDescriptor targetType, Object[] arguments) | |
| getValueRef | back to summary |
|---|---|
| protected ValueRef getValueRef(ExpressionState state) throws EvaluationException Overrides org.
| |
| isCompilable | back to summary |
|---|---|
| public boolean isCompilable() Overrides org. A method reference is compilable if it has been resolved to a reflectively accessible method and the child nodes (arguments to the method) are also compilable.
| |
| isNullSafe | back to summary |
|---|---|
| public final boolean isNullSafe() Does this node represent a null-safe method reference?
| |
| throwIfNotNullSafe | back to summary |
|---|---|
| private void throwIfNotNullSafe(List<TypeDescriptor> argumentTypes) | |
| throwSimpleExceptionIfPossible | back to summary |
|---|---|
| private void throwSimpleExceptionIfPossible(Object value, AccessException ex) Decode the AccessException, throwing a lightweight evaluation exception or, if the cause was a RuntimeException, throw the RuntimeException directly. | |
| toStringAST | back to summary |
|---|---|
| public String toStringAST() Implements org. Doc from org. Return the string form of this AST node. | |
| updateExitTypeDescriptor | back to summary |
|---|---|
| private void updateExitTypeDescriptor() | |
| Modifier and Type | Field and Description |
|---|---|
| private final List | |
| private final MethodExecutor | |
| private final Class | |
| private final TypeDescriptor |
| Access | Constructor and Description |
|---|---|
| public | CachedMethodExecutor(MethodExecutor methodExecutor, Class<?> staticClass, TypeDescriptor target, List<TypeDescriptor> argumentTypes)
|
| Modifier and Type | Method and Description |
|---|---|
| public MethodExecutor | |
| public boolean | |
| public boolean |
| argumentTypes | back to summary |
|---|---|
| private final List<TypeDescriptor> argumentTypes | |
| methodExecutor | back to summary |
|---|---|
| private final MethodExecutor methodExecutor | |
| staticClass | back to summary |
|---|---|
| private final Class<?> staticClass
| |
| target | back to summary |
|---|---|
| private final TypeDescriptor target
| |
| CachedMethodExecutor | back to summary |
|---|---|
| public CachedMethodExecutor(MethodExecutor methodExecutor, Class<?> staticClass, TypeDescriptor target, List<TypeDescriptor> argumentTypes) | |
| get | back to summary |
|---|---|
| public MethodExecutor get() | |
| hasProxyTarget | back to summary |
|---|---|
| public boolean hasProxyTarget() | |
| isSuitable | back to summary |
|---|---|
| public boolean isSuitable(Object value, TypeDescriptor target, List<TypeDescriptor> argumentTypes) | |
| Modifier and Type | Field and Description |
|---|---|
| private final Object[] | |
| private final EvaluationContext | |
| private final TypeDescriptor | |
| private final Object |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public TypedValue | getValue()
Implements org. |
| public boolean | isWritable()
Implements org. |
| public void | setValue(Object
the new value newValue)Implements org. |
| arguments | back to summary |
|---|---|
| private final Object[] arguments | |
| evaluationContext | back to summary |
|---|---|
| private final EvaluationContext evaluationContext | |
| targetType | back to summary |
|---|---|
| private final TypeDescriptor targetType
| |
| value | back to summary |
|---|---|
| private final Object value
| |
| MethodValueRef | back to summary |
|---|---|
| public MethodValueRef(ExpressionState state, Object[] arguments) | |
| getValue | back to summary |
|---|---|
| public TypedValue getValue() Implements org. Doc from org. Returns the value this ValueRef points to, it should not require expression component re-evaluation.
| |
| isWritable | back to summary |
|---|---|
| public boolean isWritable() Implements org. Doc from org. Indicates whether calling setValue(Object) is supported.
| |
| setValue | back to summary |
|---|---|
| public void setValue(Object newValue) Implements org. Doc from org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. | |