11package nativeimage .core .thirdparty ;
22
3- import java .lang . reflect . Modifier ;
3+ import java .util . LinkedHashSet ;
44import java .util .Set ;
5- import java .util .stream .Collectors ;
65
76import com .mageddo .aptools .ClassUtils ;
87import com .mageddo .aptools .log .Logger ;
9-
108import com .mageddo .aptools .log .LoggerFactory ;
119
1210import org .reflections .Reflections ;
1311import org .reflections .scanners .Scanners ;
14- import org .reflections .util .ClasspathHelper ;
15- import org .reflections .util .ConfigurationBuilder ;
16- import org .reflections .util .FilterBuilder ;
1712
1813public class ThirdPartyPackageScanner {
1914
@@ -26,23 +21,19 @@ public class ThirdPartyPackageScanner {
2621 */
2722 public static Set <String > findPackageClasses (String packageName ) {
2823
29- // final Set<Class<?>> classes = new Reflections(new ConfigurationBuilder()
30- // .setScanners(Scanners.SubTypes.filterResultsBy(s -> true),
31- // Scanners.Resources
32- // )
33- // .addUrls(ClasspathHelper.forJavaClassPath())
34- // .filterInputsBy(new FilterBuilder()
35- // .includePackage(packageName)))
36- // .getSubTypesOf(Object.class);
37-
3824 final Set <String > classes = new Reflections (packageName )
3925 .getAll (Scanners .SubTypes );
4026
41-
42- final Set <String > filteredClasses = classes
43- .stream ()
44- .filter (it -> ClassUtils .doPackageOwnClass (packageName , it ))
45- .collect (Collectors .toSet ());
27+ final Set <String > filteredClasses = new LinkedHashSet <>();
28+ for (String clazz : classes ) {
29+ if (ClassUtils .doPackageOwnClass (packageName , clazz )) {
30+ filteredClasses .add (clazz );
31+ }
32+ }
33+ // final Set<String> filteredClasses = classes
34+ // .stream()
35+ // .filter(it -> ClassUtils.doPackageOwnClass(packageName, it))
36+ // .collect(Collectors.toSet());
4637
4738 log .warn (
4839 "status=packageScanned, classes=%d, afterFilter=%d, package=%s" ,
@@ -51,26 +42,4 @@ public static Set<String> findPackageClasses(String packageName) {
5142 return filteredClasses ;
5243 }
5344
54- public static void main (String [] args ) {
55- final Set <String > classes = new Reflections ("com.fasterxml.jackson.core.util" )
56- .getAll (Scanners .SubTypes );
57-
58- System .out .println (classes );
59-
60-
61- final Reflections reflections = new Reflections (new ConfigurationBuilder ()
62- .setScanners (Scanners .SubTypes .filterResultsBy (s -> true ),
63- Scanners .Resources
64- )
65- .addUrls (ClasspathHelper .forJavaClassPath ())
66- .filterInputsBy (new FilterBuilder ()
67- .includePackage ("com.fasterxml.jackson.core.util" )));
68-
69- System .out .println (reflections .getSubTypesOf (Object .class ));
70- ;
71- }
72-
73- static boolean isValidClass (Class <?> clazz ) {
74- return !clazz .isInterface () && !Modifier .isAbstract (clazz .getModifiers ());
75- }
7645}
0 commit comments