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

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