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
      Return annotation details based on the direct annotations of the underlying element.
      Specified by:
      getAnnotations in interface AnnotatedTypeMetadata
      Returns:
      merged annotations based on the direct 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), also taking attribute overrides on composed annotations into account.
      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 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.
    • 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 that this variant does not take attribute overrides 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
      Returns:
      a MultiMap of attributes, with the attribute name as key (e.g. "value") and a list of the defined attribute values as Map value. This return value will be null if no matching annotation is defined.
      See Also:
    • equals

      public boolean equals(@Nullable Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object