Skip to content

Commit 71e80eb

Browse files
authored
Merge pull request #104 from avaje/feature/format-only
Format and remove some unused
2 parents 245beb2 + 05c5f0c commit 71e80eb

File tree

4 files changed

+33
-117
lines changed

4 files changed

+33
-117
lines changed

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

Lines changed: 14 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@
66
import static java.util.stream.Collectors.toList;
77

88
import java.lang.reflect.InvocationTargetException;
9-
import java.util.HashMap;
10-
import java.util.HashSet;
11-
import java.util.List;
12-
import java.util.Map;
13-
import java.util.Objects;
14-
import java.util.Set;
15-
import java.util.TreeSet;
9+
import java.util.*;
1610

1711
import javax.lang.model.element.Element;
1812
import javax.lang.model.element.ElementKind;
@@ -39,8 +33,7 @@ final class ClassReader implements BeanReader {
3933
private final boolean usesTypeProperty;
4034
private final boolean useEnum;
4135
private static final boolean useInstanceofPattern = jdkVersion() >= 17;
42-
private static final boolean nullSwitch =
43-
jdkVersion() >= 21 || (jdkVersion() >= 17 && previewEnabled());
36+
private static final boolean nullSwitch = jdkVersion() >= 21 || (jdkVersion() >= 17 && previewEnabled());
4437
private final Map<String, Integer> frequencyMap = new HashMap<>();
4538
private final Map<String, Boolean> isCommonFieldMap = new HashMap<>();
4639

@@ -379,16 +372,10 @@ private void writeJsonBuildResult(Append writer, String varName) {
379372
writer.append(", ");
380373
}
381374
final var name = params.get(i).name();
382-
383375
// append increasing numbers to constructor params sharing names with other subtypes
384376
final var frequency = frequencyMap.compute(name, (k, v) -> v == null ? 0 : v + 1);
385-
386-
writer.append(
387-
constructorParamName(
388-
name
389-
+ (frequency == 0
390-
? ""
391-
: frequency.toString()))); // assuming name matches field here?
377+
// assuming name matches field here?
378+
writer.append(constructorParamName(name + (frequency == 0 ? "" : frequency.toString())));
392379
}
393380
writer.append(");").eol();
394381
for (final FieldReader allField : allFields) {
@@ -495,8 +482,7 @@ private void writeFromJsonSwitch(Append writer, boolean defaultConstructor, Stri
495482
}
496483

497484
} else
498-
allField.writeFromJsonSwitch(
499-
writer, defaultConstructor, varName, caseInsensitiveKeys, List.of());
485+
allField.writeFromJsonSwitch(writer, defaultConstructor, varName, caseInsensitiveKeys, List.of());
500486
}
501487
writer.append(" default:").eol();
502488
final String unmappedFieldName = caseInsensitiveKeys ? "origFieldName" : "fieldName";
@@ -512,13 +498,7 @@ private void writeFromJsonSwitch(Append writer, boolean defaultConstructor, Stri
512498
writer.append(" reader.endObject();").eol();
513499
}
514500

515-
private void writeSubTypeCase(
516-
String name,
517-
Append writer,
518-
List<FieldReader> commonFields,
519-
boolean defaultConstructor,
520-
String varName) {
521-
501+
private void writeSubTypeCase(String name, Append writer, List<FieldReader> commonFields, boolean defaultConstructor, String varName) {
522502
writer.append(" case \"%s\":", name).eol();
523503
// get all possible aliases of this field from the subtypes
524504
for (final String alias :
@@ -529,30 +509,23 @@ private void writeSubTypeCase(
529509
var elseIf = false;
530510
// write the case statements with subtypeCheck
531511
for (final FieldReader fieldReader : commonFields) {
532-
final var subtype = fieldReader.getSubTypes().values().stream().collect(toList()).get(0);
512+
final var subtype = new ArrayList<>(fieldReader.getSubTypes().values()).get(0);
533513
final var setter = fieldReader.getSetter();
534514
final var adapterFieldName = fieldReader.getAdapterFieldName();
535515
final var fieldName = fieldReader.getFieldNameWithNum();
536516
if (useEnum) {
537-
writer
538-
.append(" %sif (%s.equals(%s)) {", elseIf ? "else " : "", subtype.name(), "type")
539-
.eol();
517+
writer.append(" %sif (%s.equals(%s)) {", elseIf ? "else " : "", subtype.name(), "type").eol();
540518
} else {
541-
writer
542-
.append(" %sif (\"%s\".equals(%s)) {", elseIf ? "else " : "", subtype.name(), "type")
543-
.eol();
519+
writer.append(" %sif (\"%s\".equals(%s)) {", elseIf ? "else " : "", subtype.name(), "type").eol();
544520
}
545521
elseIf = true;
546522
if (!fieldReader.isDeserialize()) {
547523
writer.append(" reader.skipValue();");
548524
} else if (defaultConstructor) {
549525
if (setter != null) {
550-
writer.append(
551-
" _$%s.%s(%s.fromJson(reader));",
552-
varName, setter.getName(), adapterFieldName);
526+
writer.append(" _$%s.%s(%s.fromJson(reader));", varName, setter.getName(), adapterFieldName);
553527
} else if (fieldReader.isPublicField()) {
554-
writer.append(
555-
" _$%s.%s = %s.fromJson(reader);", varName, fieldName, adapterFieldName);
528+
writer.append(" _$%s.%s = %s.fromJson(reader);", varName, fieldName, adapterFieldName);
556529
}
557530
} else {
558531
writer.append(" _val$%s = %s.fromJson(reader);", fieldName, adapterFieldName);
@@ -564,14 +537,12 @@ private void writeSubTypeCase(
564537
}
565538
writer
566539
.append(" else {").eol()
567-
.append(" throw new IllegalStateException(\"Missing Required type3 property that determines deserialization type\");")
568-
.eol()
569-
.append(" }")
570-
.eol()
540+
.append(" throw new IllegalStateException(\"Missing Required type3 property that determines deserialization type\");").eol()
541+
.append(" }").eol()
571542
.append(" break;").eol().eol();
572543
}
573544

574-
private String typePropertyKey() {
545+
private String typePropertyKey() {
575546
return caseInsensitiveKeys ? typeProperty.toLowerCase() : typeProperty;
576547
}
577548
}

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

Lines changed: 14 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,7 @@ final class FieldReader {
3939
private boolean isSubTypeField;
4040
private final String num;
4141

42-
FieldReader(
43-
Element element,
44-
NamingConvention namingConvention,
45-
TypeSubTypeMeta subType,
46-
List<String> genericTypeParams,
47-
Integer frequency) {
42+
FieldReader(Element element, NamingConvention namingConvention, TypeSubTypeMeta subType, List<String> genericTypeParams, Integer frequency) {
4843
num = frequency == 0 ? "" : frequency.toString();
4944
addSubType(subType);
5045
this.genericTypeParams = genericTypeParams;
@@ -152,15 +147,11 @@ boolean typeObjectBooleanWithIsPrefix() {
152147
}
153148

154149
boolean typeBooleanWithIsPrefix() {
155-
return nameHasIsPrefix()
156-
&& ("boolean".equals(genericType.topType())
157-
|| "java.lang.Boolean".equals(genericType.topType()));
150+
return nameHasIsPrefix() && ("boolean".equals(genericType.topType()) || "java.lang.Boolean".equals(genericType.topType()));
158151
}
159152

160153
private boolean nameHasIsPrefix() {
161-
return fieldName.length() > 2
162-
&& fieldName.startsWith("is")
163-
&& Character.isUpperCase(fieldName.charAt(2));
154+
return fieldName.length() > 2 && fieldName.startsWith("is") && Character.isUpperCase(fieldName.charAt(2));
164155
}
165156

166157
boolean isRaw() {
@@ -277,9 +268,7 @@ void writeConstructor(Append writer) {
277268
if (raw) {
278269
writer.append(" this.%s = jsonb.rawAdapter();", adapterFieldName).eol();
279270
} else {
280-
writer
281-
.append(" this.%s = jsonb.adapter(%s);", adapterFieldName, asTypeDeclaration())
282-
.eol();
271+
writer.append(" this.%s = jsonb.adapter(%s);", adapterFieldName, asTypeDeclaration()).eol();
283272
}
284273
}
285274

@@ -302,9 +291,7 @@ void writeToJson(Append writer, String varName, String prefix) {
302291
writeGetValue(writer, varName, ";");
303292
writer.eol();
304293
writer.append("%sif (unmapped != null) {", prefix).eol();
305-
writer
306-
.append("%s for (Map.Entry<String, Object> entry : unmapped.entrySet()) {", prefix)
307-
.eol();
294+
writer.append("%s for (Map.Entry<String, Object> entry : unmapped.entrySet()) {", prefix).eol();
308295
writer.append("%s writer.name(entry.getKey());", prefix).eol();
309296
writer.append("%s objectJsonAdapter.toJson(writer, entry.getValue());", prefix).eol();
310297
writer.append("%s }", prefix).eol();
@@ -323,8 +310,7 @@ private void writeGetValue(Append writer, String varName, String suffix) {
323310
} else if (publicField) {
324311
writer.append("%s.%s%s", varName, fieldName, suffix);
325312
} else {
326-
throw new IllegalStateException(
327-
"Field" + fieldName + " is inaccessible. Add a getter or make the field public.");
313+
throw new IllegalStateException("Field" + fieldName + " is inaccessible. Add a getter or make the field public.");
328314
}
329315
}
330316

@@ -351,18 +337,11 @@ private String pad(String value) {
351337
return value;
352338
}
353339
final StringBuilder sb = new StringBuilder(10).append(value);
354-
for (int i = 0; i < pad; i++) {
355-
sb.append(" ");
356-
}
340+
sb.append(" ".repeat(pad));
357341
return sb.toString();
358342
}
359343

360-
void writeFromJsonSwitch(
361-
Append writer,
362-
boolean defaultConstructor,
363-
String varName,
364-
boolean caseInsensitiveKeys,
365-
List<String> moreAlias) {
344+
void writeFromJsonSwitch(Append writer, boolean defaultConstructor, String varName, boolean caseInsensitiveKeys, List<String> moreAlias) {
366345
if (unmapped) {
367346
return;
368347
}
@@ -377,11 +356,9 @@ void writeFromJsonSwitch(
377356
writer.append(" reader.skipValue();");
378357
} else if (defaultConstructor) {
379358
if (setter != null) {
380-
writer.append(
381-
" _$%s.%s(%s.fromJson(reader));", varName, setter.getName(), adapterFieldName);
359+
writer.append(" _$%s.%s(%s.fromJson(reader));", varName, setter.getName(), adapterFieldName);
382360
} else if (publicField) {
383-
writer.append(
384-
" _$%s.%s = %s.fromJson(reader);", varName, fieldName, adapterFieldName);
361+
writer.append(" _$%s.%s = %s.fromJson(reader);", varName, fieldName, adapterFieldName);
385362
}
386363
} else {
387364
writer.append(" _val$%s = %s.fromJson(reader);", fieldName, adapterFieldName);
@@ -398,17 +375,9 @@ void writeFromJsonSetter(Append writer, String varName, String prefix) {
398375
return;
399376
}
400377
if (setter != null) {
401-
writer
402-
.append(
403-
"%s if (_set$%s) _$%s.%s(_val$%s);",
404-
prefix, fieldName + num, varName, setter.getName(), fieldName + num)
405-
.eol();
378+
writer.append("%s if (_set$%s) _$%s.%s(_val$%s);", prefix, fieldName + num, varName, setter.getName(), fieldName + num).eol();
406379
} else if (publicField) {
407-
writer
408-
.append(
409-
"%s if (_set$%s) _$%s.%s = _val$%s;",
410-
prefix, fieldName + num, varName, fieldName, fieldName + num)
411-
.eol();
380+
writer.append("%s if (_set$%s) _$%s.%s = _val$%s;", prefix, fieldName + num, varName, fieldName, fieldName + num).eol();
412381
}
413382
}
414383

@@ -422,21 +391,13 @@ void writeFromJsonUnmapped(Append writer, String varName) {
422391

423392
void writeViewBuilder(Append writer, String shortName) {
424393
if (getter == null) {
425-
writer
426-
.append(
427-
" builder.add(\"%s\", %s, builder.field(%s.class, \"%s\"));",
428-
propertyName, adapterFieldName, shortName, fieldName)
429-
.eol();
394+
writer.append(" builder.add(\"%s\", %s, builder.field(%s.class, \"%s\"));", propertyName, adapterFieldName, shortName, fieldName).eol();
430395
} else {
431396
String topType = genericType.topType() + ".class";
432397
if (genericTypeParameter) {
433398
topType = genericTypeReplacement(topType, "Object.class");
434399
}
435-
writer
436-
.append(
437-
" builder.add(\"%s\", %s, builder.method(%s.class, \"%s\", %s));",
438-
propertyName, adapterFieldName, shortName, getter.getName(), topType)
439-
.eol();
400+
writer.append(" builder.add(\"%s\", %s, builder.method(%s.class, \"%s\", %s));", propertyName, adapterFieldName, shortName, getter.getName(), topType).eol();
440401
}
441402
}
442403

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,8 @@ private void readField(Element element, List<FieldReader> localFields) {
113113
element = mixInField;
114114
}
115115
if (includeField(element)) {
116-
final var frequency =
117-
frequencyMap.compute(element.getSimpleName().toString(), (k, v) -> v == null ? 0 : v + 1);
118-
localFields.add(
119-
new FieldReader(element, namingConvention, currentSubType, genericTypeParams,frequency));
116+
final var frequency = frequencyMap.compute(element.getSimpleName().toString(), (k, v) -> v == null ? 0 : v + 1);
117+
localFields.add(new FieldReader(element, namingConvention, currentSubType, genericTypeParams, frequency));
120118
}
121119
}
122120

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

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,7 @@ void addConstructor(MethodReader methodReader) {
5656
publicConstructors.add(methodReader);
5757
}
5858

59-
void writeFromJsonBuild(
60-
Append writer,
61-
String typeVar,
62-
String varName,
63-
ClassReader beanReader,
64-
boolean useSwitch,
65-
boolean useEnum,
66-
Map<String, Integer> frequencyMap2, Map<String, Boolean> isCommonFieldMap) {
59+
void writeFromJsonBuild(Append writer, String typeVar, String varName, ClassReader beanReader, boolean useSwitch, boolean useEnum, Map<String, Integer> frequencyMap2, Map<String, Boolean> isCommonFieldMap) {
6760
if (useSwitch) {
6861
if (useEnum) {
6962
writer.append(" case %s", name()).appendSwitchCase().eol();
@@ -109,12 +102,7 @@ private boolean isIncludeSetter(FieldReader field) {
109102

110103
private final Set<String> constructorFieldNames = new LinkedHashSet<>();
111104

112-
private void writeFromJsonConstructor(
113-
Append writer,
114-
String varName,
115-
ClassReader beanReader,
116-
Map<String, Integer> frequencyMap2,
117-
Map<String, Boolean> isCommonFieldMap) {
105+
private void writeFromJsonConstructor(Append writer, String varName, ClassReader beanReader, Map<String, Integer> frequencyMap2, Map<String, Boolean> isCommonFieldMap) {
118106
writer.append(" %s _$%s = new %s(", shortType, varName, shortType);
119107
final MethodReader constructor = findConstructor();
120108
if (constructor != null) {
@@ -129,9 +117,7 @@ private void writeFromJsonConstructor(
129117
var constructParamName = beanReader.constructorParamName(paramName);
130118
final var writeWithNum = isCommonFieldMap.get(paramName);
131119
if (constructParamName.startsWith("_val$") && writeWithNum != null && writeWithNum) {
132-
final var frequency =
133-
frequencyMap2.compute(constructParamName, (k, v) -> v == null ? 0 : v + 1);
134-
final var suffix = (frequency == 0 ? "" : frequency.toString());
120+
final var frequency = frequencyMap2.compute(constructParamName, (k, v) -> v == null ? 0 : v + 1);
135121
constructParamName = constructParamName + (frequency == 0 ? "" : frequency.toString());
136122
}
137123

0 commit comments

Comments
 (0)