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)