@@ -39,67 +39,93 @@ public static Input from(Type... types) {
39
39
return new Input (sourceTypes );
40
40
}
41
41
42
+ @ Deprecated
42
43
public static Input fromClassNamesAndJaxrsApplication (List <String > classNames , List <String > classNamePatterns , String jaxrsApplicationClassName ,
43
44
boolean automaticJaxrsApplication , Predicate <String > isClassNameExcluded , URLClassLoader classLoader , boolean debug ) {
44
45
return fromClassNamesAndJaxrsApplication (classNames , classNamePatterns , null , null , null ,
45
- jaxrsApplicationClassName , automaticJaxrsApplication , isClassNameExcluded , classLoader ,
46
- debug );
46
+ jaxrsApplicationClassName , automaticJaxrsApplication , isClassNameExcluded , classLoader ,
47
+ debug );
47
48
}
48
49
50
+ @ Deprecated
49
51
public static Input fromClassNamesAndJaxrsApplication (List <String > classNames ,
50
- List <String > classNamePatterns , List <String > classesWithAnnotations ,
51
- List <String > classesImplementingInterfaces , List <String > classesExtendingClasses ,
52
- String jaxrsApplicationClassName ,
53
- boolean automaticJaxrsApplication , Predicate <String > isClassNameExcluded ,
54
- URLClassLoader classLoader , boolean debug ) {
52
+ List <String > classNamePatterns , List <String > classesWithAnnotations ,
53
+ List <String > classesImplementingInterfaces , List <String > classesExtendingClasses ,
54
+ String jaxrsApplicationClassName ,
55
+ boolean automaticJaxrsApplication , Predicate <String > isClassNameExcluded ,
56
+ URLClassLoader classLoader , boolean debug ) {
57
+ final Parameters parameters = new Parameters ();
58
+ parameters .classNames = classNames ;
59
+ parameters .classNamePatterns = classNamePatterns ;
60
+ parameters .classesWithAnnotations = classesWithAnnotations ;
61
+ parameters .classesImplementingInterfaces = classesImplementingInterfaces ;
62
+ parameters .classesExtendingClasses = classesExtendingClasses ;
63
+ parameters .jaxrsApplicationClassName = jaxrsApplicationClassName ;
64
+ parameters .automaticJaxrsApplication = automaticJaxrsApplication ;
65
+ parameters .isClassNameExcluded = isClassNameExcluded ;
66
+ parameters .classLoader = classLoader ;
67
+ parameters .debug = debug ;
68
+ return from (parameters );
69
+ }
70
+
71
+ public static class Parameters {
72
+ public List <String > classNames ;
73
+ public List <String > classNamePatterns ;
74
+ public List <String > classesWithAnnotations ;
75
+ public List <String > classesImplementingInterfaces ;
76
+ public List <String > classesExtendingClasses ;
77
+ public String jaxrsApplicationClassName ;
78
+ public boolean automaticJaxrsApplication ;
79
+ public Predicate <String > isClassNameExcluded ;
80
+ public URLClassLoader classLoader ;
81
+ public boolean debug ;
82
+ }
83
+
84
+ public static Input from (Parameters parameters ) {
55
85
final ClassLoader originalContextClassLoader = Thread .currentThread ().getContextClassLoader ();
56
86
try {
57
- if (classLoader != null ) {
58
- Thread .currentThread ().setContextClassLoader (classLoader );
87
+ if (parameters . classLoader != null ) {
88
+ Thread .currentThread ().setContextClassLoader (parameters . classLoader );
59
89
}
60
- try (final ClasspathScanner classpathScanner = new ClasspathScanner (classLoader , debug )) {
90
+ try (final ClasspathScanner classpathScanner = new ClasspathScanner (parameters . classLoader , parameters . debug )) {
61
91
final List <SourceType <Type >> types = new ArrayList <>();
62
- if (classNames != null ) {
63
- types .addAll (fromClassNames (classNames ));
92
+ if (parameters . classNames != null ) {
93
+ types .addAll (fromClassNames (parameters . classNames ));
64
94
}
65
- if (classNamePatterns != null ) {
66
- types .addAll (fromClassNamePatterns (classpathScanner .getScanResult (), classNamePatterns ));
95
+ if (parameters . classNamePatterns != null ) {
96
+ types .addAll (fromClassNamePatterns (classpathScanner .getScanResult (), parameters . classNamePatterns ));
67
97
}
68
- if (classesImplementingInterfaces != null ) {
98
+ if (parameters . classesImplementingInterfaces != null ) {
69
99
final ScanResult scanResult = classpathScanner .getScanResult ();
70
- final List <SourceType <Type >> c = fromClassNames (
71
- classesImplementingInterfaces .stream ()
72
- .flatMap (interf -> scanResult .getClassesImplementing (interf ).getNames ()
73
- .stream ())
100
+ final List <SourceType <Type >> c = fromClassNames (parameters .classesImplementingInterfaces .stream ()
101
+ .flatMap (interf -> scanResult .getClassesImplementing (interf ).getNames ().stream ())
74
102
.distinct ()
75
103
.collect (Collectors .toList ())
76
104
);
77
105
types .addAll (c );
78
106
}
79
- if (classesExtendingClasses != null ) {
107
+ if (parameters . classesExtendingClasses != null ) {
80
108
final ScanResult scanResult = classpathScanner .getScanResult ();
81
- final List <SourceType <Type >> c = fromClassNames (
82
- classesExtendingClasses .stream ()
83
- .flatMap (superclass -> scanResult .getSubclasses (superclass ).getNames ()
84
- .stream ())
109
+ final List <SourceType <Type >> c = fromClassNames (parameters .classesExtendingClasses .stream ()
110
+ .flatMap (superclass -> scanResult .getSubclasses (superclass ).getNames ().stream ())
85
111
.distinct ()
86
112
.collect (Collectors .toList ())
87
113
);
88
114
types .addAll (c );
89
115
}
90
- if (classesWithAnnotations != null ) {
116
+ if (parameters . classesWithAnnotations != null ) {
91
117
final ScanResult scanResult = classpathScanner .getScanResult ();
92
- types .addAll (fromClassNames (classesWithAnnotations .stream ()
118
+ types .addAll (fromClassNames (parameters . classesWithAnnotations .stream ()
93
119
.flatMap (annotation -> scanResult .getClassesWithAnnotation (annotation ).getNames ().stream ())
94
120
.distinct ()
95
121
.collect (Collectors .toList ())
96
122
));
97
123
}
98
- if (jaxrsApplicationClassName != null ) {
99
- types .addAll (fromClassNames (Arrays .asList (jaxrsApplicationClassName )));
124
+ if (parameters . jaxrsApplicationClassName != null ) {
125
+ types .addAll (fromClassNames (Arrays .asList (parameters . jaxrsApplicationClassName )));
100
126
}
101
- if (automaticJaxrsApplication ) {
102
- types .addAll (JaxrsApplicationScanner .scanAutomaticJaxrsApplication (classpathScanner .getScanResult (), isClassNameExcluded ));
127
+ if (parameters . automaticJaxrsApplication ) {
128
+ types .addAll (JaxrsApplicationScanner .scanAutomaticJaxrsApplication (classpathScanner .getScanResult (), parameters . isClassNameExcluded ));
103
129
}
104
130
if (types .isEmpty ()) {
105
131
final String errorMessage = "No input classes found." ;
@@ -173,7 +199,7 @@ private static List<SourceType<Type>> fromClassNames(List<String> classNames) {
173
199
// skip synthetic classes (as those generated by java compiler for switch with enum)
174
200
// and anonymous classes (should not be processed and they do not have SimpleName)
175
201
if (!cls .isSynthetic () && !cls .isAnonymousClass ()) {
176
- types .add (new SourceType <Type >(cls , null , null ));
202
+ types .add (new SourceType <>(cls , null , null ));
177
203
}
178
204
}
179
205
return types ;
0 commit comments