Skip to content

Commit 38f6ad0

Browse files
committed
Extract helper method pkgPrivateMetaData()
1 parent 545bfdf commit 38f6ad0

File tree

2 files changed

+25
-32
lines changed

2 files changed

+25
-32
lines changed

jsonb-generator/src/main/java/io/avaje/jsonb/generator/ComponentMetaData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ void addFactory(String fullName) {
3131
factoryTypes.add(fullName);
3232
}
3333

34-
public void addWithType(String type) {
34+
void addWithType(String type) {
3535
withTypes.add(type);
3636
}
3737

@@ -85,7 +85,7 @@ Collection<String> allImports() {
8585
return packageImports;
8686
}
8787

88-
public boolean isEmpty() {
88+
boolean isEmpty() {
8989
return allTypes.isEmpty() && factoryTypes.isEmpty();
9090
}
9191

jsonb-generator/src/main/java/io/avaje/jsonb/generator/JsonbProcessor.java

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -138,46 +138,41 @@ private Optional<? extends Set<? extends Element>> getElements(RoundEnvironment
138138
private void registerCustomAdapters(Set<? extends Element> elements) {
139139
for (final var typeElement : ElementFilter.typesIn(elements)) {
140140
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;
148142
final var type = typeElement.getQualifiedName().toString();
149143
if (isGenericJsonAdapter(typeElement)) {
150144
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"));
159151

160152
meta.addFactory(type);
161153
} else {
162154
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"));
175165

176166
meta.add(type);
177167
}
178168
}
179169
}
180170

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+
181176
private static boolean isGenericJsonAdapter(TypeElement typeElement) {
182177
return typeElement.getInterfaces().stream()
183178
.map(UType::parse)
@@ -384,9 +379,7 @@ private void writeAdapter(TypeElement typeElement, BeanReader beanReader) {
384379
try {
385380
final SimpleAdapterWriter beanWriter = new SimpleAdapterWriter(beanReader);
386381
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));
390383
} else {
391384
writeMeta(beanWriter, metaData);
392385
}

0 commit comments

Comments
 (0)