@@ -138,46 +138,41 @@ private Optional<? extends Set<? extends Element>> getElements(RoundEnvironment
138
138
private void registerCustomAdapters (Set <? extends Element > elements ) {
139
139
for (final var typeElement : ElementFilter .typesIn (elements )) {
140
140
var pkgPrivate = !typeElement .getModifiers ().contains (Modifier .PUBLIC );
141
-
142
- var meta =
143
- pkgPrivate
144
- ? privateMetaData .computeIfAbsent (
145
- APContext .elements ().getPackageOf (typeElement ).getQualifiedName ().toString (),
146
- k -> new ComponentMetaData ())
147
- : metaData ;
141
+ var meta = pkgPrivate ? pkgPrivateMetaData (typeElement ) : metaData ;
148
142
final var type = typeElement .getQualifiedName ().toString ();
149
143
if (isGenericJsonAdapter (typeElement )) {
150
144
ElementFilter .fieldsIn (typeElement .getEnclosedElements ()).stream ()
151
- .filter (isStaticFactory ())
152
- .findFirst ()
153
- .ifPresentOrElse (
154
- x -> {},
155
- () ->
156
- logError (
157
- typeElement ,
158
- "Generic adapters require a public static AdapterFactory FACTORY field" ));
145
+ .filter (isStaticFactory ())
146
+ .findFirst ()
147
+ .ifPresentOrElse (
148
+ x -> {},
149
+ () ->
150
+ logError (typeElement , "Generic adapters require a public static AdapterFactory FACTORY field" ));
159
151
160
152
meta .addFactory (type );
161
153
} else {
162
154
ElementFilter .constructorsIn (typeElement .getEnclosedElements ()).stream ()
163
- .filter (m -> m .getModifiers ().contains (Modifier .PUBLIC ))
164
- .filter (m -> m .getParameters ().size () == 1 )
165
- .map (m -> m .getParameters ().get (0 ).asType ().toString ())
166
- .map (Util ::trimAnnotations )
167
- .filter ("io.avaje.jsonb.Jsonb" ::equals )
168
- .findAny ()
169
- .ifPresentOrElse (
170
- x -> {},
171
- () ->
172
- logNote (
173
- typeElement ,
174
- "Non-Generic adapters should have a public constructor with a single Jsonb parameter" ));
155
+ .filter (m -> m .getModifiers ().contains (Modifier .PUBLIC ))
156
+ .filter (m -> m .getParameters ().size () == 1 )
157
+ .map (m -> m .getParameters ().get (0 ).asType ().toString ())
158
+ .map (Util ::trimAnnotations )
159
+ .filter ("io.avaje.jsonb.Jsonb" ::equals )
160
+ .findAny ()
161
+ .ifPresentOrElse (
162
+ x -> {},
163
+ () ->
164
+ logNote (typeElement , "Non-Generic adapters should have a public constructor with a single Jsonb parameter" ));
175
165
176
166
meta .add (type );
177
167
}
178
168
}
179
169
}
180
170
171
+ private ComponentMetaData pkgPrivateMetaData (TypeElement typeElement ) {
172
+ var packageName = APContext .elements ().getPackageOf (typeElement ).getQualifiedName ().toString ();
173
+ return privateMetaData .computeIfAbsent (packageName , k -> new ComponentMetaData ());
174
+ }
175
+
181
176
private static boolean isGenericJsonAdapter (TypeElement typeElement ) {
182
177
return typeElement .getInterfaces ().stream ()
183
178
.map (UType ::parse )
@@ -384,9 +379,7 @@ private void writeAdapter(TypeElement typeElement, BeanReader beanReader) {
384
379
try {
385
380
final SimpleAdapterWriter beanWriter = new SimpleAdapterWriter (beanReader );
386
381
if (beanReader .isPkgPrivate ()) {
387
- var packageName = APContext .elements ().getPackageOf (typeElement ).getQualifiedName ().toString ();
388
- var meta = privateMetaData .computeIfAbsent (packageName , k -> new ComponentMetaData ());
389
- writeMeta (beanWriter , meta );
382
+ writeMeta (beanWriter , pkgPrivateMetaData (typeElement ));
390
383
} else {
391
384
writeMeta (beanWriter , metaData );
392
385
}
0 commit comments