Class ReflectiveMethodExecutor
- java.lang.Object
- org.springframework.expression.spel.support.ReflectiveMethodExecutor
- All Implemented Interfaces:
MethodExecutor
public class ReflectiveMethodExecutor extends Object implements MethodExecutor
- Since:
- 3.0
- Author:
- Andy Clement, Juergen Hoeller
Constructor Summary
Constructors Constructor Description ReflectiveMethodExecutor(Method method)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
didArgumentConversionOccur()
TypedValue
execute(EvaluationContext context, Object target, Object... arguments)
Execute a command using the specified arguments, and using the specified expression state.Method
getMethod()
Class<?>
getPublicDeclaringClass()
Find the first public class in the methods declaring class hierarchy that declares this method.
Constructor Detail
ReflectiveMethodExecutor
public ReflectiveMethodExecutor(Method method)
Method Detail
getPublicDeclaringClass
public Class<?> getPublicDeclaringClass()
Find the first public class in the methods 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 walk up the type hierarchy to find the first public type that declares the method (if there is one!). For toString() it may walk as far as Object.
didArgumentConversionOccur
public boolean didArgumentConversionOccur()
execute
public TypedValue execute(EvaluationContext context, Object target, Object... arguments) throws AccessException
Description copied from interface:MethodExecutor
Execute a command using the specified arguments, and using the specified expression state.- Specified by:
execute
in interfaceMethodExecutor
- Parameters:
context
- the evaluation context in which the command is being executedtarget
- the target object of the call - null for static methodsarguments
- the arguments to the executor, should match (in terms of number and type) whatever the command will need to run- Returns:
- the value returned from execution
- Throws:
AccessException
- if there is a problem executing the command or the MethodExecutor is no longer valid