Skip to content

Commit a6021cc

Browse files
committed
Rename SearchStrategy.EXHAUSTIVE to TYPE_HIERARCHY
Rename `SearchStrategy.EXHAUSTIVE` from `MergedAnnotations` to `SearchStrategy.TYPE_HIERARCHY` See gh-23378
1 parent e6f86c5 commit a6021cc

File tree

13 files changed

+196
-182
lines changed

13 files changed

+196
-182
lines changed

spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ private <A extends Annotation> MergedAnnotation<A> findMergedAnnotationOnBean(
684684
Class<?> beanType = getType(beanName);
685685
if (beanType != null) {
686686
MergedAnnotation<A> annotation =
687-
MergedAnnotations.from(beanType, SearchStrategy.EXHAUSTIVE).get(annotationType);
687+
MergedAnnotations.from(beanType, SearchStrategy.TYPE_HIERARCHY).get(annotationType);
688688
if (annotation.isPresent()) {
689689
return annotation;
690690
}
@@ -696,7 +696,7 @@ private <A extends Annotation> MergedAnnotation<A> findMergedAnnotationOnBean(
696696
Class<?> beanClass = bd.getBeanClass();
697697
if (beanClass != beanType) {
698698
MergedAnnotation<A> annotation =
699-
MergedAnnotations.from(beanClass, SearchStrategy.EXHAUSTIVE).get(annotationType);
699+
MergedAnnotations.from(beanClass, SearchStrategy.TYPE_HIERARCHY).get(annotationType);
700700
if (annotation.isPresent()) {
701701
return annotation;
702702
}
@@ -706,7 +706,7 @@ private <A extends Annotation> MergedAnnotation<A> findMergedAnnotationOnBean(
706706
Method factoryMethod = bd.getResolvedFactoryMethod();
707707
if (factoryMethod != null) {
708708
MergedAnnotation<A> annotation =
709-
MergedAnnotations.from(factoryMethod, SearchStrategy.EXHAUSTIVE).get(annotationType);
709+
MergedAnnotations.from(factoryMethod, SearchStrategy.TYPE_HIERARCHY).get(annotationType);
710710
if (annotation.isPresent()) {
711711
return annotation;
712712
}

spring-context/src/main/java/org/springframework/jmx/export/annotation/AnnotationJmxAttributeSource.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void setBeanFactory(BeanFactory beanFactory) {
7676
@Override
7777
@Nullable
7878
public org.springframework.jmx.export.metadata.ManagedResource getManagedResource(Class<?> beanClass) throws InvalidMetadataException {
79-
MergedAnnotation<ManagedResource> ann = MergedAnnotations.from(beanClass, SearchStrategy.EXHAUSTIVE)
79+
MergedAnnotation<ManagedResource> ann = MergedAnnotations.from(beanClass, SearchStrategy.TYPE_HIERARCHY)
8080
.get(ManagedResource.class).withNonMergedAttributes();
8181
if (!ann.isPresent()) {
8282
return null;
@@ -106,7 +106,7 @@ public org.springframework.jmx.export.metadata.ManagedResource getManagedResourc
106106
@Override
107107
@Nullable
108108
public org.springframework.jmx.export.metadata.ManagedAttribute getManagedAttribute(Method method) throws InvalidMetadataException {
109-
MergedAnnotation<ManagedAttribute> ann = MergedAnnotations.from(method, SearchStrategy.EXHAUSTIVE)
109+
MergedAnnotation<ManagedAttribute> ann = MergedAnnotations.from(method, SearchStrategy.TYPE_HIERARCHY)
110110
.get(ManagedAttribute.class).withNonMergedAttributes();
111111
if (!ann.isPresent()) {
112112
return null;
@@ -127,7 +127,7 @@ public org.springframework.jmx.export.metadata.ManagedAttribute getManagedAttrib
127127
@Override
128128
@Nullable
129129
public org.springframework.jmx.export.metadata.ManagedMetric getManagedMetric(Method method) throws InvalidMetadataException {
130-
MergedAnnotation<ManagedMetric> ann = MergedAnnotations.from(method, SearchStrategy.EXHAUSTIVE)
130+
MergedAnnotation<ManagedMetric> ann = MergedAnnotations.from(method, SearchStrategy.TYPE_HIERARCHY)
131131
.get(ManagedMetric.class).withNonMergedAttributes();
132132

133133
return copyPropertiesToBean(ann, org.springframework.jmx.export.metadata.ManagedMetric.class);
@@ -136,7 +136,7 @@ public org.springframework.jmx.export.metadata.ManagedMetric getManagedMetric(Me
136136
@Override
137137
@Nullable
138138
public org.springframework.jmx.export.metadata.ManagedOperation getManagedOperation(Method method) throws InvalidMetadataException {
139-
MergedAnnotation<ManagedOperation> ann = MergedAnnotations.from(method, SearchStrategy.EXHAUSTIVE)
139+
MergedAnnotation<ManagedOperation> ann = MergedAnnotations.from(method, SearchStrategy.TYPE_HIERARCHY)
140140
.get(ManagedOperation.class).withNonMergedAttributes();
141141

142142
return copyPropertiesToBean(ann, org.springframework.jmx.export.metadata.ManagedOperation.class);
@@ -167,7 +167,7 @@ private static List<MergedAnnotation<? extends Annotation>> getRepeatableAnnotat
167167
AnnotatedElement annotatedElement, Class<? extends Annotation> annotationType,
168168
Class<? extends Annotation> containerAnnotationType) {
169169

170-
return MergedAnnotations.from(annotatedElement, SearchStrategy.EXHAUSTIVE,
170+
return MergedAnnotations.from(annotatedElement, SearchStrategy.TYPE_HIERARCHY,
171171
RepeatableContainers.of(annotationType, containerAnnotationType), AnnotationFilter.PLAIN)
172172
.stream(annotationType)
173173
.filter(MergedAnnotationPredicates.firstRunOf(MergedAnnotation::getAggregateIndex))

spring-core/src/main/java/org/springframework/core/annotation/AnnotatedElementUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -763,15 +763,15 @@ private static MergedAnnotations getRepeatableAnnotations(AnnotatedElement eleme
763763
}
764764

765765
private static MergedAnnotations findAnnotations(AnnotatedElement element) {
766-
return MergedAnnotations.from(element, SearchStrategy.EXHAUSTIVE,
766+
return MergedAnnotations.from(element, SearchStrategy.TYPE_HIERARCHY,
767767
RepeatableContainers.none(), AnnotationFilter.PLAIN);
768768
}
769769

770770
private static MergedAnnotations findRepeatableAnnotations(AnnotatedElement element,
771771
@Nullable Class<? extends Annotation> containerType, Class<? extends Annotation> annotationType) {
772772

773773
RepeatableContainers repeatableContainers = RepeatableContainers.of(annotationType, containerType);
774-
return MergedAnnotations.from(element, SearchStrategy.EXHAUSTIVE,
774+
return MergedAnnotations.from(element, SearchStrategy.TYPE_HIERARCHY,
775775
repeatableContainers, AnnotationFilter.PLAIN);
776776
}
777777

spring-core/src/main/java/org/springframework/core/annotation/AnnotationAwareOrderComparator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ protected Integer findOrder(Object obj) {
7171
@Nullable
7272
private Integer findOrderFromAnnotation(Object obj) {
7373
AnnotatedElement element = (obj instanceof AnnotatedElement ? (AnnotatedElement) obj : obj.getClass());
74-
MergedAnnotations annotations = MergedAnnotations.from(element, SearchStrategy.EXHAUSTIVE);
74+
MergedAnnotations annotations = MergedAnnotations.from(element, SearchStrategy.TYPE_HIERARCHY);
7575
Integer order = OrderUtils.getOrderFromAnnotations(element, annotations);
7676
if (order == null && obj instanceof DecoratingProxy) {
7777
return findOrderFromAnnotation(((DecoratingProxy) obj).getDecoratedClass());

spring-core/src/main/java/org/springframework/core/annotation/AnnotationUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ public static <A extends Annotation> A findAnnotation(Method method, @Nullable C
524524
return method.getDeclaredAnnotation(annotationType);
525525
}
526526
// Exhaustive retrieval of merged annotations...
527-
return MergedAnnotations.from(method, SearchStrategy.EXHAUSTIVE,
527+
return MergedAnnotations.from(method, SearchStrategy.TYPE_HIERARCHY,
528528
RepeatableContainers.none(), AnnotationFilter.PLAIN)
529529
.get(annotationType).withNonMergedAttributes()
530530
.synthesize(MergedAnnotation::isPresent).orElse(null);
@@ -563,7 +563,7 @@ public static <A extends Annotation> A findAnnotation(Class<?> clazz, @Nullable
563563
return clazz.getDeclaredAnnotation(annotationType);
564564
}
565565
// Exhaustive retrieval of merged annotations...
566-
return MergedAnnotations.from(clazz, SearchStrategy.EXHAUSTIVE,
566+
return MergedAnnotations.from(clazz, SearchStrategy.TYPE_HIERARCHY,
567567
RepeatableContainers.none(), AnnotationFilter.PLAIN)
568568
.get(annotationType).withNonMergedAttributes()
569569
.synthesize(MergedAnnotation::isPresent).orElse(null);

spring-core/src/main/java/org/springframework/core/annotation/AnnotationsScanner.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ private static <C, R> R process(C context, AnnotatedElement source,
112112
}
113113

114114
@Nullable
115+
@SuppressWarnings("deprecation")
115116
private static <C, R> R processClass(C context, Class<?> source,
116117
SearchStrategy searchStrategy, AnnotationsProcessor<C, R> processor,
117118
@Nullable BiPredicate<C, Class<?>> classFilter) {
@@ -124,6 +125,7 @@ private static <C, R> R processClass(C context, Class<?> source,
124125
case SUPERCLASS:
125126
return processClassHierarchy(context, new int[] {0}, source, processor, classFilter, false);
126127
case EXHAUSTIVE:
128+
case TYPE_HIERARCHY:
127129
return processClassHierarchy(context, new int[] {0}, source, processor, classFilter, true);
128130
}
129131
throw new IllegalStateException("Unsupported search strategy " + searchStrategy);
@@ -221,6 +223,7 @@ private static <C, R> R processClassHierarchy(C context, int[] aggregateIndex,
221223
}
222224

223225
@Nullable
226+
@SuppressWarnings("deprecation")
224227
private static <C, R> R processMethod(C context, Method source,
225228
SearchStrategy searchStrategy, AnnotationsProcessor<C, R> processor,
226229
@Nullable BiPredicate<C, Class<?>> classFilter) {
@@ -233,6 +236,7 @@ private static <C, R> R processMethod(C context, Method source,
233236
return processMethodHierarchy(context, new int[] {0}, source.getDeclaringClass(),
234237
processor, classFilter, source, false);
235238
case EXHAUSTIVE:
239+
case TYPE_HIERARCHY:
236240
return processMethodHierarchy(context, new int[] {0}, source.getDeclaringClass(),
237241
processor, classFilter, source, true);
238242
}

spring-core/src/main/java/org/springframework/core/annotation/MergedAnnotations.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
*
9292
* <p>Different {@linkplain SearchStrategy search strategies} can be used to locate
9393
* related source elements that contain the annotations to be aggregated. For
94-
* example, {@link SearchStrategy#EXHAUSTIVE} will search both superclasses and
94+
* example, {@link SearchStrategy#TYPE_HIERARCHY} will search both superclasses and
9595
* implemented interfaces.
9696
*
9797
* <p>From a {@link MergedAnnotations} instance you can either
@@ -428,8 +428,18 @@ enum SearchStrategy {
428428
* Perform a full search of all related elements, including those on any
429429
* superclasses or implemented interfaces. Superclass annotations do
430430
* not need to be meta-annotated with {@link Inherited @Inherited}.
431+
* @deprecated since 5.2.0.RC1 in favor of {@link #TYPE_HIERARCHY}.
431432
*/
432-
EXHAUSTIVE
433+
@Deprecated
434+
EXHAUSTIVE,
435+
436+
/**
437+
* Perform a full search of the entire type hierarchy , including
438+
* superclasses and implemented interfaces. Superclass annotations do
439+
* not need to be meta-annotated with {@link Inherited @Inherited}.
440+
*/
441+
TYPE_HIERARCHY
442+
433443
}
434444

435445
}

spring-core/src/main/java/org/springframework/core/annotation/OrderUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public static Integer getOrder(Class<?> type, @Nullable Integer defaultOrder) {
8181
*/
8282
@Nullable
8383
public static Integer getOrder(Class<?> type) {
84-
return getOrderFromAnnotations(type, MergedAnnotations.from(type, SearchStrategy.EXHAUSTIVE));
84+
return getOrderFromAnnotations(type, MergedAnnotations.from(type, SearchStrategy.TYPE_HIERARCHY));
8585
}
8686

8787
/**
@@ -127,7 +127,7 @@ private static Integer findOrder(MergedAnnotations annotations) {
127127
*/
128128
@Nullable
129129
public static Integer getPriority(Class<?> type) {
130-
return MergedAnnotations.from(type, SearchStrategy.EXHAUSTIVE).get(JAVAX_PRIORITY_ANNOTATION)
130+
return MergedAnnotations.from(type, SearchStrategy.TYPE_HIERARCHY).get(JAVAX_PRIORITY_ANNOTATION)
131131
.getValue(MergedAnnotation.VALUE, Integer.class).orElse(null);
132132
}
133133

0 commit comments

Comments
 (0)