org.springframework.core.type

## Interface MethodMetadata

- All Known Implementing Classes:
    StandardMethodMetadata

      public interface MethodMetadata

  Interface that defines abstract access to the annotations of a specific class, in a form that does not require that class to be loaded yet.
  Since:
    3.0
  Author:
    Juergen Hoeller, Mark Pollack, Chris Beams
  See Also:
    `StandardMethodMetadata`, `AnnotationMetadata.getAnnotatedMethods(java.lang.String)`

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

- - ### Method Detail

    - #### getMethodName

          String getMethodName()

      Return the name of the method.

    - #### getDeclaringClassName

          String getDeclaringClassName()

      Return the fully-qualified name of the class that declares this method.

    - #### isStatic

          boolean isStatic()

      Return whether the underlying method is declared as 'static'.

    - #### isFinal

          boolean isFinal()

      Return whether the underlying method is marked as 'final'.

    - #### isOverridable

          boolean isOverridable()

      Return whether the underlying method is overridable, i.e. not marked as static, final or private.

    - #### isAnnotated

          boolean isAnnotated(String annotationType)

      Determine whether the underlying method has an annotation or meta-annotation of the given type defined.
      Parameters:
        `annotationType` - the annotation type to look for
      Returns:
        whether a matching annotation is defined

    - #### getAnnotationAttributes

          Map<String,Object> getAnnotationAttributes(String annotationType)

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