Class ReflectiveMethodExecutor
java.lang.Object
org.springframework.expression.spel.support.ReflectiveMethodExecutor
- All Implemented Interfaces:
 MethodExecutor
MethodExecutor that works via reflection.- Since:
 - 3.0
 - Author:
 - Andy Clement, Juergen Hoeller
 
- 
Constructor Summary
ConstructorsConstructorDescriptionReflectiveMethodExecutor(Method method) Create a new executor for the given method.ReflectiveMethodExecutor(Method method, Class<?> targetClass) Create a new executor for the given method. - 
Method Summary
Modifier and TypeMethodDescriptionbooleanexecute(EvaluationContext context, Object target, Object... arguments) Execute a method in the specified context using the specified arguments.final MethodReturn the original method that this executor has been configured for.Class<?>Find the first public class in the method's declaring class hierarchy that declares this method. 
- 
Constructor Details
- 
ReflectiveMethodExecutor
Create a new executor for the given method.- Parameters:
 method- the method to invoke
 - 
ReflectiveMethodExecutor
Create a new executor for the given method.- Parameters:
 method- the method to invoketargetClass- the target class to invoke the method on- Since:
 - 5.3.16
 
 
 - 
 - 
Method Details
- 
getMethod
Return the original method that this executor has been configured for. - 
getPublicDeclaringClass
Find the first public class in the method's declaring class hierarchy that declares this method.Sometimes the reflective method discovery logic finds a suitable method that can easily be called via reflection but cannot be called from generated code when compiling the expression because of visibility restrictions. For example, if a non-public class overrides
toString(), this helper method will traverse up the type hierarchy to find the first public type that declares the method (if there is one). FortoString(), it may traverse as far as Object. - 
didArgumentConversionOccur
public boolean didArgumentConversionOccur() - 
execute
public TypedValue execute(EvaluationContext context, Object target, Object... arguments) throws AccessException Description copied from interface:MethodExecutorExecute a method in the specified context using the specified arguments.- Specified by:
 executein interfaceMethodExecutor- Parameters:
 context- the evaluation context in which the method is being executedtarget- the target of the method invocation; may benullforstaticmethodsarguments- the arguments to the method; should match (in terms of number and type) whatever the method will need to run- Returns:
 - the value returned from the method
 - Throws:
 AccessException- if there is a problem executing the method or if thisMethodExecutorhas become stale
 
 -