org.springframework.core.type
Class StandardMethodMetadata
- java.lang.Object
-
- org.springframework.core.type.StandardMethodMetadata
-
- All Implemented Interfaces:
- MethodMetadata
public class StandardMethodMetadata extends Object implements MethodMetadata
MethodMetadata
implementation that uses standard reflection to introspect a givenMethod
.- Since:
- 3.0
- Author:
- Juergen Hoeller, Mark Pollack, Chris Beams
-
Constructor Summary
Constructors Constructor and Description StandardMethodMetadata(Method introspectedMethod)
Create a new StandardMethodMetadata wrapper for the given Method.StandardMethodMetadata(Method introspectedMethod, boolean nestedAnnotationsAsMap)
Create a new StandardMethodMetadata wrapper for the given Method, providing the option to return any nested annotations or annotation arrays in the form ofAnnotationAttributes
instead of actualAnnotation
instances.
Method Summary
Methods Modifier and Type Method and Description Map<String,Object>
getAnnotationAttributes(String annotationType)
Retrieve the attributes of the annotation of the given type, if any (i.e.String
getDeclaringClassName()
Return the fully-qualified name of the class that declares this method.Method
getIntrospectedMethod()
Return the underlying Method.String
getMethodName()
Return the name of the method.boolean
isAnnotated(String annotationType)
Determine whether the underlying method has an annotation or meta-annotation of the given type defined.boolean
isFinal()
Return whether the underlying method is marked as 'final'.boolean
isOverridable()
Return whether the underlying method is overridable, i.e.boolean
isStatic()
Return whether the underlying method is declared as 'static'.
-
Constructor Detail
StandardMethodMetadata
public StandardMethodMetadata(Method introspectedMethod)
Create a new StandardMethodMetadata wrapper for the given Method.- Parameters:
-
introspectedMethod
- the Method to introspect
StandardMethodMetadata
public StandardMethodMetadata(Method introspectedMethod, boolean nestedAnnotationsAsMap)
Create a new StandardMethodMetadata wrapper for the given Method, providing the option to return any nested annotations or annotation arrays in the form ofAnnotationAttributes
instead of actualAnnotation
instances.- Parameters:
-
introspectedMethod
- the Method to introspect -
nestedAnnotationsAsMap
- return nested annotations and annotation arrays asAnnotationAttributes
for compatibility with ASM-basedAnnotationMetadata
implementations - Since:
- 3.1.1
Method Detail
getIntrospectedMethod
public final Method getIntrospectedMethod()
Return the underlying Method.
getMethodName
public String getMethodName()
Description copied from interface:MethodMetadata
Return the name of the method.- Specified by:
-
getMethodName
in interfaceMethodMetadata
getDeclaringClassName
public String getDeclaringClassName()
Description copied from interface:MethodMetadata
Return the fully-qualified name of the class that declares this method.- Specified by:
-
getDeclaringClassName
in interfaceMethodMetadata
isStatic
public boolean isStatic()
Description copied from interface:MethodMetadata
Return whether the underlying method is declared as 'static'.- Specified by:
-
isStatic
in interfaceMethodMetadata
isFinal
public boolean isFinal()
Description copied from interface:MethodMetadata
Return whether the underlying method is marked as 'final'.- Specified by:
-
isFinal
in interfaceMethodMetadata
isOverridable
public boolean isOverridable()
Description copied from interface:MethodMetadata
Return whether the underlying method is overridable, i.e. not marked as static, final or private.- Specified by:
-
isOverridable
in interfaceMethodMetadata
isAnnotated
public boolean isAnnotated(String annotationType)
Description copied from interface:MethodMetadata
Determine whether the underlying method has an annotation or meta-annotation of the given type defined.- Specified by:
-
isAnnotated
in interfaceMethodMetadata
- Parameters:
-
annotationType
- the annotation type to look for - Returns:
- whether a matching annotation is defined
getAnnotationAttributes
public Map<String,Object> getAnnotationAttributes(String annotationType)
Description copied from interface:MethodMetadata
Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying method, as direct annotation or as meta-annotation).- Specified by:
-
getAnnotationAttributes
in interfaceMethodMetadata
- Parameters:
-
annotationType
- the annotation type to look for - Returns:
-
a Map of attributes, with the attribute name as key (e.g. "value") and the defined attribute value as Map value. This return value will be
null
if no matching annotation is defined.