org.springframework.core.type

Class StandardMethodMetadata

  • All Implemented Interfaces:
    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
    • Constructor Detail

      • StandardMethodMetadata

        public StandardMethodMetadata(Method introspectedMethod)
        Create a new StandardMethodMetadata wrapper for the given Method.
        Parameters:
        introspectedMethod - the Method to introspect
      • StandardMethodMetadata

        public StandardMethodMetadata(Method introspectedMethod,
                              boolean nestedAnnotationsAsMap)
        Create a new StandardMethodMetadata wrapper for the given Method, providing the option to return any nested annotations or annotation arrays in the form of AnnotationAttributes instead of actual Annotation instances.
        Parameters:
        introspectedMethod - the Method to introspect
        nestedAnnotationsAsMap - return nested annotations and annotation arrays as AnnotationAttributes for compatibility with ASM-based AnnotationMetadata implementations
        Since:
        3.1.1
    • Method Detail

      • getIntrospectedMethod

        public final Method getIntrospectedMethod()
        Return the underlying Method.
      • isStatic

        public boolean isStatic()
        Description copied from interface: MethodMetadata
        Return whether the underlying method is declared as 'static'.
        Specified by:
        isStatic in interface  MethodMetadata
      • isFinal

        public boolean isFinal()
        Description copied from interface: MethodMetadata
        Return whether the underlying method is marked as 'final'.
        Specified by:
        isFinal in interface  MethodMetadata
      • isOverridable

        public boolean isOverridable()
        Description copied from interface: MethodMetadata
        Return whether the underlying method is overridable, i.e. not marked as static, final or private.
        Specified by:
        isOverridable in interface  MethodMetadata
      • isAnnotated

        public boolean isAnnotated(String annotationType)
        Description copied from interface: MethodMetadata
        Determine whether the underlying method has an annotation or meta-annotation of the given type defined.
        Specified by:
        isAnnotated in interface  MethodMetadata
        Parameters:
        annotationType - the annotation type to look for
        Returns:
        whether a matching annotation is defined
      • getAnnotationAttributes

        public Map<String,Object> getAnnotationAttributes(String annotationType)
        Description copied from interface: MethodMetadata
        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).
        Specified by:
        getAnnotationAttributes in interface  MethodMetadata
        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.