From 8ea71a6bb62740790ba8242d22a388ad58a7afed Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Tue, 13 Aug 2024 16:52:09 +0200 Subject: [PATCH] =?UTF-8?q?GH-763=20-=20Open=20up=20ApplicationModules.of(?= =?UTF-8?q?=E2=80=A6)=20to=20take=20a=20DescribedPredicate<=3F=20super=20J?= =?UTF-8?q?avaClass>.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modulith/core/ApplicationModules.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/spring-modulith-core/src/main/java/org/springframework/modulith/core/ApplicationModules.java b/spring-modulith-core/src/main/java/org/springframework/modulith/core/ApplicationModules.java index 9b5a77f7..cfa54e5f 100644 --- a/spring-modulith-core/src/main/java/org/springframework/modulith/core/ApplicationModules.java +++ b/spring-modulith-core/src/main/java/org/springframework/modulith/core/ApplicationModules.java @@ -96,13 +96,15 @@ public class ApplicationModules implements Iterable { private boolean verified; protected ApplicationModules(ModulithMetadata metadata, Collection packages, - DescribedPredicate ignored, boolean useFullyQualifiedModuleNames, ImportOption option) { + DescribedPredicate ignored, boolean useFullyQualifiedModuleNames, ImportOption option) { + + DescribedPredicate excluded = DescribedPredicate.or(ignored, IS_AOT_TYPE); this.metadata = metadata; this.allClasses = new ClassFileImporter() // .withImportOption(option) // .importPackages(packages) // - .that(not(ignored.or(IS_AOT_TYPE))); + .that(not(excluded)); Classes classes = Classes.of(allClasses); @@ -185,7 +187,7 @@ public class ApplicationModules implements Iterable { * @param ignored must not be {@literal null}. * @return will never be {@literal null}. */ - public static ApplicationModules of(Class modulithType, DescribedPredicate ignored) { + public static ApplicationModules of(Class modulithType, DescribedPredicate ignored) { CacheKey key = new TypeKey(modulithType, ignored); @@ -215,7 +217,7 @@ public class ApplicationModules implements Iterable { * @param ignored must not be {@literal null}. * @return will never be {@literal null}. */ - public static ApplicationModules of(String javaPackage, DescribedPredicate ignored) { + public static ApplicationModules of(String javaPackage, DescribedPredicate ignored) { CacheKey key = new PackageKey(javaPackage, ignored); @@ -613,7 +615,7 @@ public class ApplicationModules implements Iterable { String getBasePackage(); - DescribedPredicate getIgnored(); + DescribedPredicate getIgnored(); ModulithMetadata getMetadata(); } @@ -621,7 +623,7 @@ public class ApplicationModules implements Iterable { private static final class TypeKey implements CacheKey { private final Class type; - private final DescribedPredicate ignored; + private final DescribedPredicate ignored; /** * Creates a new {@link TypeKey} for the given type and {@link DescribedPredicate} of ignored {@link JavaClass}es. @@ -629,7 +631,7 @@ public class ApplicationModules implements Iterable { * @param type must not be {@literal null}. * @param ignored must not be {@literal null}. */ - TypeKey(Class type, DescribedPredicate ignored) { + TypeKey(Class type, DescribedPredicate ignored) { this.type = type; this.ignored = ignored; @@ -658,7 +660,7 @@ public class ApplicationModules implements Iterable { * @see org.springframework.modulith.model.ApplicationModules.CacheKey#getIgnored() */ @Override - public DescribedPredicate getIgnored() { + public DescribedPredicate getIgnored() { return ignored; } @@ -694,7 +696,7 @@ public class ApplicationModules implements Iterable { private static final class PackageKey implements CacheKey { private final String basePackage; - private final DescribedPredicate ignored; + private final DescribedPredicate ignored; /** * Creates a new {@link PackageKey} for the given base package and {@link DescribedPredicate} of ignored @@ -703,7 +705,7 @@ public class ApplicationModules implements Iterable { * @param basePackage must not be {@literal null}. * @param ignored must not be {@literal null}. */ - PackageKey(String basePackage, DescribedPredicate ignored) { + PackageKey(String basePackage, DescribedPredicate ignored) { this.basePackage = basePackage; this.ignored = ignored; @@ -722,7 +724,7 @@ public class ApplicationModules implements Iterable { * (non-Javadoc) * @see org.springframework.modulith.model.ApplicationModules.CacheKey#getIgnored() */ - public DescribedPredicate getIgnored() { + public DescribedPredicate getIgnored() { return ignored; }