接口 AnnotatedTypeMetadata

所有已知子接口:
AnnotationMetadata, MethodMetadata
所有已知实现类:
StandardAnnotationMetadata, StandardMethodMetadata

public interface AnnotatedTypeMetadata
Defines access to the annotations of a specific type (class or method), in a form that does not necessarily require the class-loading.
从以下版本开始:
4.0
作者:
Juergen Hoeller, Mark Fisher, Mark Pollack, Chris Beams, Phillip Webb, Sam Brannen
另请参阅:
  • 方法概要

    修饰符和类型
    方法
    说明
    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).
    getAllAnnotationAttributes(String annotationName, boolean classValuesAsString)
    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).
    default <A extends Annotation>
    MergedAnnotation<A>
    getAnnotation(Class<A> annotationType)
    Get the nearest matching annotation or meta-annotation of the specified type, or MergedAnnotation.missing() if none is present.
    default <A extends Annotation>
    MergedAnnotation<A>
    getAnnotation(String annotationType)
    Get the nearest matching annotation or meta-annotation of the specified type, or MergedAnnotation.missing() if none is present.
    default Map<String,Object>
    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.
    default Map<String,Object>
    getAnnotationAttributes(String annotationName, boolean classValuesAsString)
    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.
    Return annotation details based on the direct annotations of the underlying element.
    default Set<String>
    Get the fully qualified class names of all annotation types that are present on the underlying class.
    default Set<String>
    Get the fully qualified class names of all meta-annotation types that are present on the given annotation type on the underlying class.
    default boolean
    hasAnnotation(String annotationName)
    Determine whether an annotation of the given type is present on the underlying class.
    default boolean
    hasMetaAnnotation(String metaAnnotationName)
    Determine whether the underlying class has an annotation that is itself annotated with the meta-annotation of the given type.
    default boolean
    isAnnotated(String annotationName)
    Determine whether the underlying element has an annotation or meta-annotation of the given type defined.
  • 方法详细资料

    • getAnnotations

      MergedAnnotations getAnnotations()
      Return annotation details based on the direct annotations of the underlying element.
      返回:
      merged annotations based on the direct annotations
    • getAnnotation

      default <A extends Annotation> MergedAnnotation<A> getAnnotation(Class<A> annotationType)
      Get the nearest matching annotation or meta-annotation of the specified type, or MergedAnnotation.missing() if none is present.
      参数:
      annotationType - the annotation type to get
      返回:
      a MergedAnnotation instance
    • getAnnotation

      default <A extends Annotation> MergedAnnotation<A> getAnnotation(String annotationType)
      Get the nearest matching annotation or meta-annotation of the specified type, or MergedAnnotation.missing() if none is present.
      参数:
      annotationType - the fully qualified class name of the annotation type to get
      返回:
      a MergedAnnotation instance
    • getAnnotationTypes

      default Set<String> getAnnotationTypes()
      Get the fully qualified class names of all annotation types that are present on the underlying class.
      返回:
      the annotation type names
    • getMetaAnnotationTypes

      default Set<String> getMetaAnnotationTypes(String annotationName)
      Get the fully qualified class names of all meta-annotation types that are present on the given annotation type on the underlying class.
      参数:
      annotationName - the fully qualified class name of the meta-annotation type to look for
      返回:
      the meta-annotation type names, or an empty set if none found
    • hasAnnotation

      default boolean hasAnnotation(String annotationName)
      Determine whether an annotation of the given type is present on the underlying class.
      参数:
      annotationName - the fully qualified class name of the annotation type to look for
      返回:
      true if a matching annotation is present
    • hasMetaAnnotation

      default boolean hasMetaAnnotation(String metaAnnotationName)
      Determine whether the underlying class has an annotation that is itself annotated with the meta-annotation of the given type.
      参数:
      metaAnnotationName - the fully qualified class name of the meta-annotation type to look for
      返回:
      true if a matching meta-annotation is present
    • isAnnotated

      default boolean isAnnotated(String annotationName)
      Determine whether the underlying element has an annotation or meta-annotation of the given type defined.

      If this method returns true, then getAnnotationAttributes(java.lang.String) will return a non-null Map.

      参数:
      annotationName - the fully qualified class name of the annotation type to look for
      返回:
      whether a matching annotation is defined
    • getAnnotationAttributes

      @Nullable default Map<String,Object> getAnnotationAttributes(String annotationName)
      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.
      参数:
      annotationName - the fully qualified class name of the annotation type to look for
      返回:
      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.
    • getAnnotationAttributes

      @Nullable default Map<String,Object> getAnnotationAttributes(String annotationName, boolean classValuesAsString)
      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.
      参数:
      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
      返回:
      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 default MultiValueMap<String,Object> getAllAnnotationAttributes(String annotationName)
      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.
      参数:
      annotationName - the fully qualified class name of the annotation type to look for
      返回:
      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.
      另请参阅:
    • getAllAnnotationAttributes

      @Nullable default MultiValueMap<String,Object> getAllAnnotationAttributes(String annotationName, boolean classValuesAsString)
      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.
      参数:
      annotationName - the fully qualified class name of the annotation type to look for
      classValuesAsString - whether to convert class references to String
      返回:
      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.
      另请参阅: