|
|
|
|
@@ -36,13 +36,13 @@ import org.springframework.util.MultiValueMap;
|
|
|
|
|
* repeatable annotations on {@link AnnotatedElement AnnotatedElements}.
|
|
|
|
|
*
|
|
|
|
|
* <p>{@code AnnotatedElementUtils} defines the public API for Spring's
|
|
|
|
|
* meta-annotation programming model with support for <em>annotation attribute
|
|
|
|
|
* overrides</em> and {@link AliasFor @AliasFor}. Note, however, that
|
|
|
|
|
* {@code AnnotatedElementUtils} is effectively a facade for the
|
|
|
|
|
* {@link MergedAnnotations} API. For fine-grained support consider using the
|
|
|
|
|
* meta-annotation programming model with support for attribute aliases and
|
|
|
|
|
* <em>annotation attribute overrides</em> configured via {@link AliasFor @AliasFor}.
|
|
|
|
|
* Note, however, that {@code AnnotatedElementUtils} is effectively a facade for
|
|
|
|
|
* the {@link MergedAnnotations} API. For fine-grained support consider using the
|
|
|
|
|
* {@code MergedAnnotations} API directly. If you do not need support for
|
|
|
|
|
* annotation attribute overrides, {@code @AliasFor}, or merged annotations,
|
|
|
|
|
* consider using {@link AnnotationUtils} instead.
|
|
|
|
|
* {@code @AliasFor} or merged annotations, consider using {@link AnnotationUtils}
|
|
|
|
|
* instead.
|
|
|
|
|
*
|
|
|
|
|
* <p>Note that the features of this class are not provided by the JDK's
|
|
|
|
|
* introspection facilities themselves.
|
|
|
|
|
@@ -286,9 +286,8 @@ public abstract class AnnotatedElementUtils {
|
|
|
|
|
* the annotation hierarchy <em>above</em> the supplied {@code element} and
|
|
|
|
|
* merge that annotation's attributes with <em>matching</em> attributes from
|
|
|
|
|
* annotations in lower levels of the annotation hierarchy.
|
|
|
|
|
* <p>Attributes from lower levels in the annotation hierarchy override attributes
|
|
|
|
|
* of the same name from higher levels, and {@link AliasFor @AliasFor} semantics are
|
|
|
|
|
* fully supported, both within a single annotation and within the annotation hierarchy.
|
|
|
|
|
* <p>{@link AliasFor @AliasFor} semantics are fully supported, both within
|
|
|
|
|
* a single annotation and within the annotation hierarchy.
|
|
|
|
|
* <p>In contrast to {@link #getAllAnnotationAttributes}, the search algorithm used by
|
|
|
|
|
* this method will stop searching the annotation hierarchy once the first annotation
|
|
|
|
|
* of the specified {@code annotationName} has been found. As a consequence,
|
|
|
|
|
@@ -550,10 +549,8 @@ public abstract class AnnotatedElementUtils {
|
|
|
|
|
* the annotation hierarchy <em>above</em> the supplied {@code element} and
|
|
|
|
|
* merge that annotation's attributes with <em>matching</em> attributes from
|
|
|
|
|
* annotations in lower levels of the annotation hierarchy.
|
|
|
|
|
* <p>Attributes from lower levels in the annotation hierarchy override
|
|
|
|
|
* attributes of the same name from higher levels, and
|
|
|
|
|
* {@link AliasFor @AliasFor} semantics are fully supported, both
|
|
|
|
|
* within a single annotation and within the annotation hierarchy.
|
|
|
|
|
* <p>{@link AliasFor @AliasFor} semantics are fully supported, both within
|
|
|
|
|
* a single annotation and within the annotation hierarchy.
|
|
|
|
|
* <p>In contrast to {@link #getAllAnnotationAttributes}, the search algorithm
|
|
|
|
|
* used by this method will stop searching the annotation hierarchy once the
|
|
|
|
|
* first annotation of the specified {@code annotationType} has been found.
|
|
|
|
|
@@ -585,10 +582,8 @@ public abstract class AnnotatedElementUtils {
|
|
|
|
|
* the annotation hierarchy <em>above</em> the supplied {@code element} and
|
|
|
|
|
* merge that annotation's attributes with <em>matching</em> attributes from
|
|
|
|
|
* annotations in lower levels of the annotation hierarchy.
|
|
|
|
|
* <p>Attributes from lower levels in the annotation hierarchy override
|
|
|
|
|
* attributes of the same name from higher levels, and
|
|
|
|
|
* {@link AliasFor @AliasFor} semantics are fully supported, both
|
|
|
|
|
* within a single annotation and within the annotation hierarchy.
|
|
|
|
|
* <p>{@link AliasFor @AliasFor} semantics are fully supported, both within
|
|
|
|
|
* a single annotation and within the annotation hierarchy.
|
|
|
|
|
* <p>In contrast to {@link #getAllAnnotationAttributes}, the search
|
|
|
|
|
* algorithm used by this method will stop searching the annotation
|
|
|
|
|
* hierarchy once the first annotation of the specified
|
|
|
|
|
|