public class ReflectiveMethodResolver extends java.lang.Object implements MethodResolver
MethodResolver used by default in StandardEvaluationContext
unless explicit method resolvers have been specified.StandardEvaluationContext.addMethodResolver(MethodResolver)| Constructor and Description |
|---|
ReflectiveMethodResolver() |
ReflectiveMethodResolver(boolean useDistance)
This constructors allows the ReflectiveMethodResolver to be configured such that it will
use a distance computation to check which is the better of two close matches (when there
are multiple matches).
|
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.reflect.Method[] |
getMethods(java.lang.Class<?> type)
Return the set of methods for this type.
|
void |
registerMethodFilter(java.lang.Class<?> type,
MethodFilter filter) |
MethodExecutor |
resolve(EvaluationContext context,
java.lang.Object targetObject,
java.lang.String name,
java.util.List<TypeDescriptor> argumentTypes)
Locate a method on a type.
|
public ReflectiveMethodResolver()
public ReflectiveMethodResolver(boolean useDistance)
useDistance - true if distance computation should be used when calculating matchespublic MethodExecutor resolve(EvaluationContext context, java.lang.Object targetObject, java.lang.String name, java.util.List<TypeDescriptor> argumentTypes) throws AccessException
resolve in interface MethodResolvercontext - the current evaluation contexttargetObject - the object upon which the method is being calledargumentTypes - the arguments that the constructor must be able to handleAccessExceptionpublic void registerMethodFilter(java.lang.Class<?> type,
MethodFilter filter)
protected java.lang.reflect.Method[] getMethods(java.lang.Class<?> type)
Class.getMethods() for the given type, but subclasses
may override in order to alter the results, e.g. specifying static methods
declared elsewhere.type - the class for which to return the methods