Package org.springframework.core.type

# Class StandardMethodMetadata

java.lang.Object
org.springframework.core.type.StandardMethodMetadata

All Implemented Interfaces:
  `AnnotatedTypeMetadata`, `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, Phillip Webb, Sam Brannen

## Constructor Summary

Constructors
Constructor
Description
`StandardMethodMetadata(Method introspectedMethod)`
Deprecated.
since 5.2 in favor of obtaining instances via `AnnotationMetadata`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object other)`
`MultiValueMap<String,Object>`
`getAllAnnotationAttributes(String annotationName, boolean classValuesAsString)`
Retrieve all attributes of all annotations of the given type, if any (i.e.
`Map<String,Object>`
`getAnnotationAttributes(String annotationName, boolean classValuesAsString)`
Retrieve the attributes of the annotation of the given type, if any (i.e.
`MergedAnnotations`
`getAnnotations()`
Get annotation details based on the direct annotations and meta-annotations of the underlying element.
`String`
`getDeclaringClassName()`
Get the fully-qualified name of the class that declares the underlying method.
`final Method`
`getIntrospectedMethod()`
Return 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.
`int`
`hashCode()`
`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'.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

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

## Constructor Details

### StandardMethodMetadata

@Deprecated public StandardMethodMetadata(Method introspectedMethod)
Deprecated.
since 5.2 in favor of obtaining instances via `AnnotationMetadata`
Create a new StandardMethodMetadata wrapper for the given Method.

Parameters:
  `introspectedMethod` - the Method to introspect

## Method Details

### getAnnotations

public MergedAnnotations getAnnotations()
Description copied from interface: `AnnotatedTypeMetadata`
Get annotation details based on the direct annotations and meta-annotations of the underlying element.

Specified by:
  `getAnnotations` in interface `AnnotatedTypeMetadata`
Returns:
  merged annotations based on the direct annotations and meta-annotations

### getIntrospectedMethod

public final Method getIntrospectedMethod()
Return the underlying Method.

### getMethodName

public String getMethodName()
Description copied from interface: `MethodMetadata`
Get the name of the underlying method.

Specified by:
  `getMethodName` in interface `MethodMetadata`

### getDeclaringClassName

public String getDeclaringClassName()
Description copied from interface: `MethodMetadata`
Get the fully-qualified name of the class that declares the underlying method.

Specified by:
  `getDeclaringClassName` in interface `MethodMetadata`

### getReturnTypeName

public String getReturnTypeName()
Description copied from interface: `MethodMetadata`
Get the fully-qualified name of the underlying method's declared return type.

Specified by:
  `getReturnTypeName` in interface `MethodMetadata`

### isAbstract

public boolean isAbstract()
Description copied from interface: `MethodMetadata`
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.

Specified by:
  `isAbstract` in interface `MethodMetadata`

### isStatic

public boolean isStatic()
Description copied from interface: `MethodMetadata`
Determine whether the underlying method is declared as 'static'.

Specified by:
  `isStatic` in interface `MethodMetadata`

### isFinal

public boolean isFinal()
Description copied from interface: `MethodMetadata`
Determine whether the underlying method is marked as 'final'.

Specified by:
  `isFinal` in interface `MethodMetadata`

### isOverridable

public boolean isOverridable()
Description copied from interface: `MethodMetadata`
Determine whether the underlying method is overridable, i.e. not marked as static, final, or private.

Specified by:
  `isOverridable` in interface `MethodMetadata`

### getAnnotationAttributes

@Nullable public Map<String,Object> getAnnotationAttributes(String annotationName, boolean classValuesAsString)
Description copied from interface: `AnnotatedTypeMetadata`
Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation).

`@AliasFor` semantics are fully supported, both within a single annotation and within annotation hierarchies.

Specified by:
  `getAnnotationAttributes` in interface `AnnotatedTypeMetadata`
Parameters:
  `annotationName` - the fully-qualified class name of the annotation type to look for
  `classValuesAsString` - whether to convert class references to String class names for exposure as values in the returned Map, instead of Class references which might potentially have to be loaded first
Returns:
  a `Map` of attributes, with each annotation attribute name as map key (for example, "location") and the attribute's value as map value; or `null` if no matching annotation is found

### getAllAnnotationAttributes

@Nullable public MultiValueMap<String,Object> getAllAnnotationAttributes(String annotationName, boolean classValuesAsString)
Description copied from interface: `AnnotatedTypeMetadata`
Retrieve all attributes of all annotations of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation).

Note: this method does not take attribute overrides on composed annotations into account.

Specified by:
  `getAllAnnotationAttributes` in interface `AnnotatedTypeMetadata`
Parameters:
  `annotationName` - the fully-qualified class name of the annotation type to look for
  `classValuesAsString` - whether to convert class references to String class names for exposure as values in the returned Map, instead of Class references which might potentially have to be loaded first
Returns:
  a `MultiValueMap` of attributes, with each annotation attribute name as map key (for example, "location") and a list of the attribute's values as map value; or `null` if no matching annotation is found
See Also:
  - `AnnotatedTypeMetadata.getAllAnnotationAttributes(String)`

### equals

public boolean equals(@Nullable Object other)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`