# Uses of Interface
org.springframework.core.annotation.MergedAnnotation

Packages that use MergedAnnotation
Package
Description
org.springframework.core.annotation
Core support package for annotations, meta-annotations, and merged annotations with attribute overrides.
org.springframework.core.type
Core support package for type introspection.

## Uses of MergedAnnotation in org.springframework.core.annotation

Methods in org.springframework.core.annotation that return MergedAnnotation
Modifier and Type
Method
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<A>`
MergedAnnotation.`from(A annotation)`
Create a new `MergedAnnotation` instance from the specified annotation.
`static <A extends Annotation>
MergedAnnotation<A>`
MergedAnnotation.`from(Object source, A annotation)`
Create a new `MergedAnnotation` instance from the specified annotation.
`<A extends Annotation>
MergedAnnotation<A>`
MergedAnnotations.`get(Class<A> annotationType)`
Get the nearest matching annotation or meta-annotation of the specified type, or `missing()` if none is present.
`<A extends Annotation>
MergedAnnotation<A>`
MergedAnnotations.`get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate)`
Get the nearest matching annotation or meta-annotation of the specified type, or `missing()` if none is present.
`<A extends Annotation>
MergedAnnotation<A>`
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>
MergedAnnotation<A>`
MergedAnnotations.`get(String annotationType)`
Get the nearest matching annotation or meta-annotation of the specified type, or `missing()` if none is present.
`<A extends Annotation>
MergedAnnotation<A>`
MergedAnnotations.`get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate)`
Get the nearest matching annotation or meta-annotation of the specified type, or `missing()` if none is present.
`<A extends Annotation>
MergedAnnotation<A>`
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<T>`
MergedAnnotation.`getAnnotation(String attributeName, Class<T> type)`
Get a required annotation attribute value from the annotation.
`<T extends Annotation>
MergedAnnotation<T>[]`
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 `null` if the annotation is not meta-present.
`MergedAnnotation<?>`
MergedAnnotation.`getRoot()`
Get the root annotation, i.e.
`static <A extends Annotation>
MergedAnnotation<A>`
MergedAnnotation.`missing()`
Create a `MergedAnnotation` that represents a missing annotation (i.e.
`static <A extends Annotation>
MergedAnnotation<A>`
MergedAnnotation.`of(Class<A> annotationType)`
Create a new `MergedAnnotation` instance of the specified annotation type.
`static <A extends Annotation>
MergedAnnotation<A>`
MergedAnnotation.`of(Class<A> annotationType, Map<String,?> attributes)`
Create a new `MergedAnnotation` instance of the specified annotation type with attribute values supplied by a map.
`static <A extends Annotation>
MergedAnnotation<A>`
MergedAnnotation.`of(ClassLoader classLoader, Object source, Class<A> annotationType, Map<String,?> attributes)`
Create a new `MergedAnnotation` instance of the specified annotation type with attribute values supplied by a map.
`static <A extends Annotation>
MergedAnnotation<A>`
MergedAnnotation.`of(AnnotatedElement source, Class<A> annotationType, Map<String,?> attributes)`
Create a new `MergedAnnotation` instance 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.
Methods in org.springframework.core.annotation that return types with arguments of type MergedAnnotation
Modifier and Type
Method
Description
`static <A extends Annotation>
Predicate<MergedAnnotation<A>>`
MergedAnnotationPredicates.`firstRunOf(Function<? super MergedAnnotation<A>,?> valueExtractor)`
Create a new stateful, single use `Predicate` that 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>
Stream<MergedAnnotation<A>>`
MergedAnnotations.`stream(Class<A> annotationType)`
Stream all annotations and meta-annotations that match the specified type.
`<A extends Annotation>
Stream<MergedAnnotation<A>>`
MergedAnnotations.`stream(String annotationType)`
Stream all annotations and meta-annotations that match the specified type.
`static <A extends Annotation>
Collector<MergedAnnotation<A>,?,Annotation[]>`
MergedAnnotationCollectors.`toAnnotationArray()`
Create a new `Collector` that accumulates merged annotations to an `Annotation` array containing synthesized versions.
`static <R extends Annotation, A extends R>
Collector<MergedAnnotation<A>,?,R[]>`
MergedAnnotationCollectors.`toAnnotationArray(IntFunction<R[]> generator)`
Create a new `Collector` that accumulates merged annotations to an `Annotation` array containing synthesized versions.
`static <A extends Annotation>
Collector<MergedAnnotation<A>,?,Set<A>>`
MergedAnnotationCollectors.`toAnnotationSet()`
Create a new `Collector` that accumulates merged annotations to a `LinkedHashSet` containing synthesized versions.
`static <A extends Annotation>
Collector<MergedAnnotation<A>,?,MultiValueMap<String,Object>>`
MergedAnnotationCollectors.`toMultiValueMap(Function<MultiValueMap<String,Object>,MultiValueMap<String,Object>> finisher, MergedAnnotation.Adapt... adaptations)`
Create a new `Collector` that accumulates merged annotations to a `MultiValueMap` with items added from each merged annotation as a map.
`static <A extends Annotation>
Collector<MergedAnnotation<A>,?,MultiValueMap<String,Object>>`
MergedAnnotationCollectors.`toMultiValueMap(MergedAnnotation.Adapt... adaptations)`
Create a new `Collector` that accumulates merged annotations to a `MultiValueMap` with items added from each merged annotation as a map.
`static <A extends Annotation>
Predicate<MergedAnnotation<? extends A>>`
MergedAnnotationPredicates.`typeIn(Class<?>... types)`
Create a new `Predicate` that evaluates to `true` if the merged annotation type is contained in the specified array.
`static <A extends Annotation>
Predicate<MergedAnnotation<? extends A>>`
MergedAnnotationPredicates.`typeIn(String... typeNames)`
Create a new `Predicate` that evaluates to `true` if the name of the merged annotation type is contained in the specified array.
`static <A extends Annotation>
Predicate<MergedAnnotation<? extends A>>`
MergedAnnotationPredicates.`typeIn(Collection<?> types)`
Create a new `Predicate` that evaluates to `true` if the merged annotation type is contained in the specified collection.
`static <A extends Annotation, K>
Predicate<MergedAnnotation<A>>`
MergedAnnotationPredicates.`unique(Function<? super MergedAnnotation<A>,K> keyExtractor)`
Create a new stateful, single use `Predicate` that matches annotations that are unique based on the extracted key.
Methods in org.springframework.core.annotation with parameters of type MergedAnnotation
Modifier and Type
Method
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.
Method parameters in org.springframework.core.annotation with type arguments of type MergedAnnotation
Modifier and Type
Method
Description
`<T extends Map<String, Object>>
T`
MergedAnnotation.`asMap(Function<MergedAnnotation<?>,T> factory, MergedAnnotation.Adapt... adaptations)`
Create a new `Map` of the given type that contains all the annotation attributes.
`static <A extends Annotation>
Predicate<MergedAnnotation<A>>`
MergedAnnotationPredicates.`firstRunOf(Function<? super MergedAnnotation<A>,?> valueExtractor)`
Create a new stateful, single use `Predicate` that matches only the first run of an extracted value.
`<A extends Annotation>
MergedAnnotation<A>`
MergedAnnotations.`get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate)`
Get the nearest matching annotation or meta-annotation of the specified type, or `missing()` if none is present.
`<A extends Annotation>
MergedAnnotation<A>`
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>
MergedAnnotation<A>`
MergedAnnotations.`get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate)`
Get the nearest matching annotation or meta-annotation of the specified type, or `missing()` if none is present.
`<A extends Annotation>
MergedAnnotation<A>`
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 `MergedAnnotations` instance 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>
Predicate<MergedAnnotation<A>>`
MergedAnnotationPredicates.`unique(Function<? super MergedAnnotation<A>,K> keyExtractor)`
Create a new stateful, single use `Predicate` that matches annotations that are unique based on the extracted key.

## Uses of MergedAnnotation in org.springframework.core.type

Method parameters in org.springframework.core.type with type arguments of type MergedAnnotation
Modifier and Type
Method
Description
`default Set<AnnotationAttributes>`
AnnotatedTypeMetadata.`getMergedRepeatableAnnotationAttributes(Class<? extends Annotation> annotationType, Class<? extends Annotation> containerType, Predicate<MergedAnnotation<? extends Annotation>> predicate, boolean classValuesAsString, boolean sortByReversedMetaDistance)`
Retrieve all repeatable annotations of the given type within the annotation hierarchy above the underlying element (as direct annotation or meta-annotation); and for each annotation found, merge that annotation's attributes with matching attributes from annotations in lower levels of the annotation hierarchy and store the results in an instance of `AnnotationAttributes`.