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)