public abstract class MethodIntrospector
extends java.lang.Object
Typically, but not necessarily, used for finding annotated handler methods.
| Modifier and Type | Class and Description |
|---|---|
static interface |
MethodIntrospector.MetadataLookup<T>
A callback interface for metadata lookup on a given method.
|
| Constructor and Description |
|---|
MethodIntrospector() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.reflect.Method |
selectInvocableMethod(java.lang.reflect.Method method,
java.lang.Class<?> targetType)
Select an invocable method on the target type: either the given method itself
if actually exposed on the target type, or otherwise a corresponding method
on one of the target type's interfaces or on the target type itself.
|
static <T> java.util.Map<java.lang.reflect.Method,T> |
selectMethods(java.lang.Class<?> targetType,
MethodIntrospector.MetadataLookup<T> metadataLookup)
Select methods on the given target type based on the lookup of associated metadata.
|
static java.util.Set<java.lang.reflect.Method> |
selectMethods(java.lang.Class<?> targetType,
ReflectionUtils.MethodFilter methodFilter)
Select methods on the given target type based on a filter.
|
public static <T> java.util.Map<java.lang.reflect.Method,T> selectMethods(java.lang.Class<?> targetType,
MethodIntrospector.MetadataLookup<T> metadataLookup)
Callers define methods of interest through the MethodIntrospector.MetadataLookup parameter,
allowing to collect the associated metadata into the result map.
targetType - the target type to search methods onmetadataLookup - a MethodIntrospector.MetadataLookup callback to inspect methods of interest,
returning non-null metadata to be associated with a given method if there is a match,
or null for no matchpublic static java.util.Set<java.lang.reflect.Method> selectMethods(java.lang.Class<?> targetType,
ReflectionUtils.MethodFilter methodFilter)
Callers define methods of interest through the MethodFilter parameter.
targetType - the target type to search methods onmethodFilter - a MethodFilter to help
recognize handler methods of interestpublic static java.lang.reflect.Method selectInvocableMethod(java.lang.reflect.Method method,
java.lang.Class<?> targetType)
Matches on user-declared interfaces will be preferred since they are likely to contain relevant metadata that corresponds to the method on the target class.
method - the method to checktargetType - the target type to search methods on
(typically an interface-based JDK proxy)java.lang.IllegalStateException - if the given method is not invocable on the given
target type (typically due to a proxy mismatch)