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 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 (e.g. "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 (e.g. "location") and a list of the attribute's values as map value; or null if no matching annotation is found
      See Also:
    • 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