public final class MethodIntrospector extends 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.
|
Modifier and Type | Method and Description |
---|---|
static Method |
selectInvocableMethod(Method method,
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> Map<Method,T> |
selectMethods(Class<?> targetType,
MethodIntrospector.MetadataLookup<T> metadataLookup)
Select methods on the given target type based on the lookup of associated metadata.
|
static Set<Method> |
selectMethods(Class<?> targetType,
ReflectionUtils.MethodFilter methodFilter)
Select methods on the given target type based on a filter.
|
public static <T> Map<Method,T> selectMethods(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 Set<Method> selectMethods(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 Method selectInvocableMethod(Method method, 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)IllegalStateException
- if the given method is not invocable on the given
target type (typically due to a proxy mismatch)