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 given `Method`.

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.

### Method Summary

Methods
`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'.

### 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

#### StandardMethodMetadata

    public StandardMethodMetadata(Method introspectedMethod,
                          boolean nestedAnnotationsAsMap)

Create a new StandardMethodMetadata wrapper for the given Method.

Parameters:
  `introspectedMethod` - the Method to introspect
  `nestedAnnotationsAsMap` -
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 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.