| Package | Description | 
|---|---|
| org.springframework.core.annotation | Core support package for annotations, meta-annotations, and merged
 annotations with attribute overrides. | 
| Modifier and Type | Method and Description | 
|---|---|
| MergedAnnotation<A> | MergedAnnotation. filterAttributes(Predicate<String> predicate)Create a new view of the annotation with only attributes that match the
 given predicate. | 
| MergedAnnotation<A> | MergedAnnotation. filterDefaultValues()Create a new view of the annotation with all attributes that have default
 values removed. | 
| static <A extends Annotation> | MergedAnnotation. from(A annotation)Create a new  MergedAnnotationinstance from the specified
 annotation. | 
| static <A extends Annotation> | MergedAnnotation. from(Object source,
    A annotation)Create a new  MergedAnnotationinstance from the specified
 annotation. | 
| <A extends Annotation> | MergedAnnotations. get(Class<A> annotationType) | 
| <A extends Annotation> | MergedAnnotations. get(Class<A> annotationType,
   Predicate<? super MergedAnnotation<A>> predicate) | 
| <A extends Annotation> | MergedAnnotations. get(Class<A> annotationType,
   Predicate<? super MergedAnnotation<A>> predicate,
   MergedAnnotationSelector<A> selector)Get a matching annotation or meta-annotation of the specified type, or
  missing()if none is present. | 
| <A extends Annotation> | MergedAnnotations. get(String annotationType) | 
| <A extends Annotation> | MergedAnnotations. get(String annotationType,
   Predicate<? super MergedAnnotation<A>> predicate) | 
| <A extends Annotation> | MergedAnnotations. get(String annotationType,
   Predicate<? super MergedAnnotation<A>> predicate,
   MergedAnnotationSelector<A> selector)Get a matching annotation or meta-annotation of the specified type, or
  missing()if none is present. | 
| <T extends Annotation> | MergedAnnotation. getAnnotation(String attributeName,
             Class<T> type)Get a required annotation attribute value from the annotation. | 
| <T extends Annotation> | MergedAnnotation. getAnnotationArray(String attributeName,
                  Class<T> type)Get a required annotation array attribute value from the annotation. | 
| MergedAnnotation<?> | MergedAnnotation. getMetaSource()Get the source of the meta-annotation, or  nullif the
 annotation is not meta-present. | 
| MergedAnnotation<?> | MergedAnnotation. getRoot()Get the root annotation, i.e. | 
| static <A extends Annotation> | MergedAnnotation. missing()Create a  MergedAnnotationthat represents a missing annotation
 (i.e. | 
| static <A extends Annotation> | MergedAnnotation. of(AnnotatedElement source,
  Class<A> annotationType,
  Map<String,?> attributes)Create a new  MergedAnnotationinstance of the specified
 annotation type with attribute values supplied by a map. | 
| static <A extends Annotation> | MergedAnnotation. of(Class<A> annotationType)Create a new  MergedAnnotationinstance of the specified
 annotation type. | 
| static <A extends Annotation> | MergedAnnotation. of(Class<A> annotationType,
  Map<String,?> attributes)Create a new  MergedAnnotationinstance of the specified
 annotation type with attribute values supplied by a map. | 
| static <A extends Annotation> | MergedAnnotation. of(ClassLoader classLoader,
  Object source,
  Class<A> annotationType,
  Map<String,?> attributes)Create a new  MergedAnnotationinstance of the specified
 annotation type with attribute values supplied by a map. | 
| MergedAnnotation<A> | MergedAnnotationSelector. select(MergedAnnotation<A> existing,
      MergedAnnotation<A> candidate)Select the annotation that should be used. | 
| MergedAnnotation<A> | MergedAnnotation. withNonMergedAttributes()Create a new view of the annotation that exposes non-merged attribute values. | 
| Modifier and Type | Method and Description | 
|---|---|
| static <A extends Annotation> | MergedAnnotationPredicates. firstRunOf(Function<? super MergedAnnotation<A>,?> valueExtractor)Create a new stateful, single use  Predicatethat matches only
 the first run of an extracted value. | 
| Stream<MergedAnnotation<Annotation>> | MergedAnnotations. stream()Stream all annotations and meta-annotations contained in this collection. | 
| <A extends Annotation> | MergedAnnotations. stream(Class<A> annotationType)Stream all annotations and meta-annotations that match the specified
 type. | 
| <A extends Annotation> | MergedAnnotations. stream(String annotationType)Stream all annotations and meta-annotations that match the specified
 type. | 
| static <A extends Annotation> | MergedAnnotationCollectors. toAnnotationArray()Create a new  Collectorthat accumulates merged annotations to anAnnotationarray containing synthesized versions. | 
| static <R extends Annotation,A extends R> | MergedAnnotationCollectors. toAnnotationArray(IntFunction<R[]> generator)Create a new  Collectorthat accumulates merged annotations to anAnnotationarray containing synthesized versions. | 
| static <A extends Annotation> | MergedAnnotationCollectors. toAnnotationSet()Create a new  Collectorthat accumulates merged annotations to aLinkedHashSetcontaining synthesized versions. | 
| static <A extends Annotation> | MergedAnnotationCollectors. toMultiValueMap(Function<MultiValueMap<String,Object>,MultiValueMap<String,Object>> finisher,
               MergedAnnotation.Adapt... adaptations)Create a new  Collectorthat accumulates merged annotations to anMultiValueMapwith items added from each merged annotationas a map. | 
| static <A extends Annotation> | MergedAnnotationCollectors. toMultiValueMap(MergedAnnotation.Adapt... adaptations)Create a new  Collectorthat accumulates merged annotations to anMultiValueMapwith items added from each merged annotationas a map. | 
| static <A extends Annotation> | MergedAnnotationPredicates. typeIn(Class<?>... types)Create a new  Predicatethat evaluates totrueif the
 merged annotation type is contained in
 the specified array. | 
| static <A extends Annotation> | MergedAnnotationPredicates. typeIn(Collection<?> types)Create a new  Predicatethat evaluates totrueif the
 merged annotation type is contained in
 the specified collection. | 
| static <A extends Annotation> | MergedAnnotationPredicates. typeIn(String... typeNames)Create a new  Predicatethat evaluates totrueif the name of the
 merged annotation type is contained in
 the specified array. | 
| static <A extends Annotation,K> | MergedAnnotationPredicates. unique(Function<? super MergedAnnotation<A>,K> keyExtractor)Create a new stateful, single use  Predicatethat matches
 annotations that are unique based on the extracted key. | 
| Modifier and Type | Method and Description | 
|---|---|
| default boolean | MergedAnnotationSelector. isBestCandidate(MergedAnnotation<A> annotation)Determine if the existing annotation is known to be the best
 candidate and any subsequent selections may be skipped. | 
| MergedAnnotation<A> | MergedAnnotationSelector. select(MergedAnnotation<A> existing,
      MergedAnnotation<A> candidate)Select the annotation that should be used. | 
| MergedAnnotation<A> | MergedAnnotationSelector. select(MergedAnnotation<A> existing,
      MergedAnnotation<A> candidate)Select the annotation that should be used. | 
| Modifier and Type | Method and Description | 
|---|---|
| <T extends Map<String,Object>> | MergedAnnotation. asMap(Function<MergedAnnotation<?>,T> factory,
     MergedAnnotation.Adapt... adaptations)Create a new  Mapinstance of the given type that contains all the annotation
 attributes. | 
| static <A extends Annotation> | MergedAnnotationPredicates. firstRunOf(Function<? super MergedAnnotation<A>,?> valueExtractor)Create a new stateful, single use  Predicatethat matches only
 the first run of an extracted value. | 
| <A extends Annotation> | MergedAnnotations. get(Class<A> annotationType,
   Predicate<? super MergedAnnotation<A>> predicate) | 
| <A extends Annotation> | MergedAnnotations. get(Class<A> annotationType,
   Predicate<? super MergedAnnotation<A>> predicate,
   MergedAnnotationSelector<A> selector)Get a matching annotation or meta-annotation of the specified type, or
  missing()if none is present. | 
| <A extends Annotation> | MergedAnnotations. get(String annotationType,
   Predicate<? super MergedAnnotation<A>> predicate) | 
| <A extends Annotation> | MergedAnnotations. get(String annotationType,
   Predicate<? super MergedAnnotation<A>> predicate,
   MergedAnnotationSelector<A> selector)Get a matching annotation or meta-annotation of the specified type, or
  missing()if none is present. | 
| static MergedAnnotations | MergedAnnotations. of(Collection<MergedAnnotation<?>> annotations)Create a new  MergedAnnotationsinstance from the specified
 collection of directly present annotations. | 
| Optional<A> | MergedAnnotation. synthesize(Predicate<? super MergedAnnotation<A>> condition)Optionally create a type-safe synthesized version of this annotation based
 on a condition predicate. | 
| static <A extends Annotation,K> | MergedAnnotationPredicates. unique(Function<? super MergedAnnotation<A>,K> keyExtractor)Create a new stateful, single use  Predicatethat matches
 annotations that are unique based on the extracted key. |