org.springframework.core.type
Class StandardMethodMetadata

java.lang.Object
  extended by 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 given Method.

Since:
3.0
Author:
Juergen Hoeller, Mark Pollack, Chris Beams

Constructor Summary
StandardMethodMetadata(Method introspectedMethod)
          Create a new StandardMethodMetadata wrapper for the given Method.
 
Method Summary
 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.
 String getMethodReturnType()
          Return the fully-qualified name of the return type 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'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardMethodMetadata

public StandardMethodMetadata(Method introspectedMethod)
Create a new StandardMethodMetadata wrapper for the given Method.

Parameters:
introspectedMethod - the Method to introspect
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 interface MethodMetadata

getMethodReturnType

public String getMethodReturnType()
Description copied from interface: MethodMetadata
Return the fully-qualified name of the return type of the method.

Specified by:
getMethodReturnType in interface MethodMetadata

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 interface MethodMetadata

isStatic

public boolean isStatic()
Description copied from interface: MethodMetadata
Return whether the underlying method is declared as 'static'.

Specified by:
isStatic in interface MethodMetadata

isFinal

public boolean isFinal()
Description copied from interface: MethodMetadata
Return whether the underlying method is marked as 'final'.

Specified by:
isFinal in interface MethodMetadata

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 interface MethodMetadata

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 interface MethodMetadata
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 interface MethodMetadata
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.