Skip to content

Commit 73df7fa

Browse files
committed
Polish "Remove reflection in AutoConfigurationChecker#getConfigurations"
See spring-projectsgh-49058
1 parent df0b56f commit 73df7fa

1 file changed

Lines changed: 12 additions & 13 deletions

File tree

buildSrc/src/main/java/org/springframework/boot/build/architecture/AutoConfigurationChecker.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@
1616

1717
package org.springframework.boot.build.architecture;
1818

19+
import java.util.HashMap;
20+
import java.util.Map;
21+
1922
import com.tngtech.archunit.base.DescribedPredicate;
2023
import com.tngtech.archunit.core.domain.JavaAnnotation;
2124
import com.tngtech.archunit.core.domain.JavaClass;
2225
import com.tngtech.archunit.core.domain.JavaClasses;
2326
import com.tngtech.archunit.lang.EvaluationResult;
24-
import java.util.HashMap;
25-
import java.util.Map;
2627

2728
/**
2829
* Finds all configurations from auto-configurations (either nested configurations or
@@ -70,30 +71,28 @@ private static final class AutoConfigurations {
7071

7172
private static final String CONFIGURATION = "org.springframework.context.annotation.Configuration";
7273

73-
private final JavaClasses allClasses;
74+
private final JavaClasses classes;
7475

75-
private final Map<String, JavaClass> classes = new HashMap<>();
76+
private final Map<String, JavaClass> autoConfigurationClasses = new HashMap<>();
7677

77-
AutoConfigurations(JavaClasses allClasses) {
78-
this.allClasses = allClasses;
78+
AutoConfigurations(JavaClasses classes) {
79+
this.classes = classes;
7980
}
8081

8182
void add(JavaClass autoConfiguration) {
8283
if (!autoConfiguration.isMetaAnnotatedWith(CONFIGURATION)) {
8384
return;
8485
}
85-
if (this.classes.putIfAbsent(autoConfiguration.getName(), autoConfiguration) != null) {
86+
if (this.autoConfigurationClasses.putIfAbsent(autoConfiguration.getName(), autoConfiguration) != null) {
8687
return;
8788
}
88-
processImports(autoConfiguration, this.classes);
89+
processImports(autoConfiguration, this.autoConfigurationClasses);
8990
}
9091

9192
JavaClasses getConfigurations() {
92-
// Return a filtered view of the original JavaClasses containing only the
93-
// configuration classes
94-
DescribedPredicate<JavaClass> inConfigurations = DescribedPredicate
95-
.describe("is in configurations", c -> this.classes.containsKey(c.getName()));
96-
return this.allClasses.that(inConfigurations);
93+
DescribedPredicate<JavaClass> isAutoConfiguration = DescribedPredicate.describe("is an auto-configuration",
94+
(c) -> this.autoConfigurationClasses.containsKey(c.getName()));
95+
return this.classes.that(isAutoConfiguration);
9796
}
9897

9998
private void processImports(JavaClass javaClass, Map<String, JavaClass> result) {

0 commit comments

Comments
 (0)