Package org.springframework.core.type

# Interface MethodMetadata

All Superinterfaces:
  `AnnotatedTypeMetadata`

All Known Implementing Classes:
  `StandardMethodMetadata`

public interface MethodMetadata extends AnnotatedTypeMetadata
Interface that defines abstract access to the annotations on a specific method, in a form that does not require that method's class to be loaded yet.

WARNING: If an annotation cannot be loaded because one of its attributes references a `Class` or `Enum` that is not present in the classpath, that annotation will not be accessible via the `MethodMetadata` API. To assist with diagnosing such scenarios, you can set the log level for `"org.springframework.core.annotation.MergedAnnotation"` to `DEBUG`, `INFO`, or `WARN`.

Since:
  3.0
Author:
  Juergen Hoeller, Mark Pollack, Chris Beams, Phillip Webb
See Also:
  - `StandardMethodMetadata`
  - `AnnotationMetadata.getAnnotatedMethods(java.lang.String)`
  - `AnnotatedTypeMetadata`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDeclaringClassName()`
Get the fully-qualified name of the class that declares the underlying method.
`String`
`getMethodName()`
Get the name of the underlying method.
`String`
`getReturnTypeName()`
Get the fully-qualified name of the underlying method's declared return type.
`boolean`
`isAbstract()`
Determine whether the underlying method is effectively abstract: i.e.
`boolean`
`isFinal()`
Determine whether the underlying method is marked as 'final'.
`boolean`
`isOverridable()`
Determine whether the underlying method is overridable, i.e.
`boolean`
`isStatic()`
Determine whether the underlying method is declared as 'static'.

### Methods inherited from interface org.springframework.core.type.AnnotatedTypeMetadata

`getAllAnnotationAttributes, getAllAnnotationAttributes, getAnnotationAttributes, getAnnotationAttributes, getAnnotations, getMergedRepeatableAnnotationAttributes, getMergedRepeatableAnnotationAttributes, getMergedRepeatableAnnotationAttributes, isAnnotated`

## Method Details

### getMethodName

String getMethodName()
Get the name of the underlying method.

### getDeclaringClassName

String getDeclaringClassName()
Get the fully-qualified name of the class that declares the underlying method.

### getReturnTypeName

String getReturnTypeName()
Get the fully-qualified name of the underlying method's declared return type.

Since:
  4.2

### isAbstract

boolean isAbstract()
Determine whether the underlying method is effectively abstract: i.e. marked as abstract in a class or declared as a regular, non-default method in an interface.

Since:
  4.2

### isStatic

boolean isStatic()
Determine whether the underlying method is declared as 'static'.

### isFinal

boolean isFinal()
Determine whether the underlying method is marked as 'final'.

### isOverridable

boolean isOverridable()
Determine whether the underlying method is overridable, i.e. not marked as static, final, or private.