org.springframework.core.type
Class StandardMethodMetadata

java.lang.Object
  extended by org.springframework.core.type.StandardMethodMetadata
All Implemented Interfaces:
MethodMetadata

public class StandardMethodMetadata
extends java.lang.Object
implements MethodMetadata

MethodMetadata implementation that uses standard reflection to introspect a given Method.

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

Field Summary
private  java.lang.reflect.Method introspectedMethod
           
 
Constructor Summary
StandardMethodMetadata(java.lang.reflect.Method introspectedMethod)
          Create a new StandardMethodMetadata wrapper for the given Method.
 
Method Summary
 java.util.Map<java.lang.String,java.lang.Object> getAnnotationAttributes(java.lang.String annotationType)
          Retrieve the attributes of the annotation of the given type, if any (i.e.
 java.lang.String getDeclaringClassName()
          Return the fully-qualified name of the class that declares this method.
 java.lang.reflect.Method getIntrospectedMethod()
          Return the underlying Method.
 java.lang.String getMethodName()
          Return the name of the method.
 boolean isAnnotated(java.lang.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
 

Field Detail

introspectedMethod

private final java.lang.reflect.Method introspectedMethod
Constructor Detail

StandardMethodMetadata

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

Parameters:
introspectedMethod - the Method to introspect
Method Detail

getIntrospectedMethod

public final java.lang.reflect.Method getIntrospectedMethod()
Return the underlying Method.


getMethodName

public java.lang.String getMethodName()
Description copied from interface: MethodMetadata
Return the name of the method.

Specified by:
getMethodName in interface MethodMetadata

getDeclaringClassName

public java.lang.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(java.lang.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 java.util.Map<java.lang.String,java.lang.Object> getAnnotationAttributes(java.lang.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.