org.springframework.core.type

## 接口 AnnotatedTypeMetadata

- 所有已知子接口:
    AnnotationMetadata, MethodMetadata
  所有已知实现类:
    AnnotationMetadataReadingVisitor, MethodMetadataReadingVisitor, 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
  另请参阅:
    `AnnotationMetadata`, `MethodMetadata`

- - ### 方法概要

    所有方法 实例方法 抽象方法
    限定符和类型 | 方法和说明
    --- | ---
    `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).
    `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).
    `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.
    `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.
    `boolean` | `isAnnotated(String annotationName)` Determine whether the underlying element has an annotation or meta-annotation of the given type defined.

- - ### 方法详细资料

    - #### isAnnotated

          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
          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
          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
          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(String, boolean)`

    - #### getAllAnnotationAttributes

          @Nullable
          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.
      另请参阅:
        `getAllAnnotationAttributes(String)`