Skip to content

Commit b0225cc

Browse files
committed
Reduce field definitions to make builds fast
1 parent a3aacbb commit b0225cc

File tree

47 files changed

+1182
-603
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1182
-603
lines changed

doma-processor/src/main/java/org/seasar/doma/internal/apt/generator/EntityTypeGenerator.java

Lines changed: 105 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.seasar.doma.internal.apt.meta.id.TableIdGeneratorMeta;
2323
import org.seasar.doma.jdbc.Naming;
2424
import org.seasar.doma.jdbc.entity.AbstractEntityType;
25+
import org.seasar.doma.jdbc.entity.EmbeddedPropertyType;
2526
import org.seasar.doma.jdbc.entity.EntityPropertyType;
2627
import org.seasar.doma.jdbc.entity.GeneratedIdPropertyType;
2728
import org.seasar.doma.jdbc.entity.NamingType;
@@ -87,7 +88,6 @@ private void printFields() {
8788
printOriginalStatesAccessorField();
8889
printNamingTypeField();
8990
printIdGeneratorField();
90-
printPropertyTypeFields();
9191
printListenerSupplierField();
9292
printImmutableField();
9393
printCatalogNameField();
@@ -98,6 +98,7 @@ private void printFields() {
9898
printIdPropertyTypesField();
9999
printEntityPropertyTypesField();
100100
printEntityPropertyTypeMapField();
101+
printEmbeddedPropertyTypeMapField();
101102
}
102103

103104
private void printSingletonField() {
@@ -127,15 +128,6 @@ private void printIdGeneratorField() {
127128
}
128129
}
129130

130-
private void printPropertyTypeFields() {
131-
for (EntityPropertyMeta pm : entityMeta.getAllPropertyMetas()) {
132-
EntityTypePropertyGenerator propertyGenerator =
133-
new EntityTypePropertyGenerator(ctx, className, printer, entityMeta, pm);
134-
propertyGenerator.generate();
135-
print("%n");
136-
}
137-
}
138-
139131
private void printListenerSupplierField() {
140132
if (entityMeta.isGenericEntityListener()) {
141133
iprint(
@@ -210,6 +202,16 @@ private void printEntityPropertyTypeMapField() {
210202
print("%n");
211203
}
212204

205+
private void printEmbeddedPropertyTypeMapField() {
206+
if (!entityMeta.hasEmbeddedProperties()) {
207+
iprint("@SuppressWarnings(\"unused\")%n");
208+
}
209+
iprint(
210+
"private final java.util.Map<String, %1$s<%2$s, ?>> __embeddedPropertyTypeMap;%n",
211+
EmbeddedPropertyType.class, entityMeta.getType());
212+
print("%n");
213+
}
214+
213215
private void printConstructor() {
214216
iprint("private %1$s() {%n", simpleName);
215217
iprint(" __listenerSupplier = () -> ListenerHolder.listener;%n");
@@ -228,30 +230,31 @@ private void printConstructor() {
228230
/* 2 */ entityMeta.getType(),
229231
/* 3 */ entityMeta.getAllPropertyMetas().size());
230232
iprint(
231-
" java.util.Map<String, %1$s<%2$s, ?>> __map = new java.util.HashMap<>(%3$s);%n",
233+
" java.util.Map<String, %1$s<%2$s, ?>> __map = new java.util.LinkedHashMap<>(%3$s);%n",
232234
/* 1 */ EntityPropertyType.class,
233235
/* 2 */ entityMeta.getType(),
234236
/* 3 */ entityMeta.getAllPropertyMetas().size());
235-
for (EntityPropertyMeta pm : entityMeta.getAllPropertyMetas()) {
236-
if (pm.isEmbedded()) {
237-
iprint(" __list.addAll(%1$s.getEmbeddablePropertyTypes());%n", pm.getFieldName());
238-
iprint(" __map.putAll(%1$s.getEmbeddablePropertyTypeMap());%n", pm.getFieldName());
239-
} else {
240-
if (pm.isId()) {
241-
iprint(" __idList.add(%1$s);%n", pm.getFieldName());
242-
}
243-
iprint(" __list.add(%1$s);%n", pm.getFieldName());
244-
iprint(" __map.put(\"%1$s\", %2$s);%n", pm.getName(), pm.getFieldName());
245-
}
246-
}
237+
iprint(
238+
" java.util.Map<String, %1$s<%2$s, ?>> __embeddedMap = new java.util.LinkedHashMap<>(%3$s);%n",
239+
/* 1 */ EmbeddedPropertyType.class,
240+
/* 2 */ entityMeta.getType(),
241+
/* 3 */ entityMeta.getAllPropertyMetas().size());
242+
iprint(" initializeMaps(__map, __embeddedMap);%n");
243+
iprint(" initializeIdList(__map, __idList);%n");
244+
iprint(" initializeList(__map, __list);%n");
247245
iprint(" __idPropertyTypes = java.util.Collections.unmodifiableList(__idList);%n");
248246
iprint(" __entityPropertyTypes = java.util.Collections.unmodifiableList(__list);%n");
249247
iprint(" __entityPropertyTypeMap = java.util.Collections.unmodifiableMap(__map);%n");
248+
iprint(
249+
" __embeddedPropertyTypeMap = java.util.Collections.unmodifiableMap(__embeddedMap);%n");
250250
iprint("}%n");
251251
print("%n");
252252
}
253253

254254
private void printMethods() {
255+
printInitializeMapsMethod();
256+
printInitializeIdListMethod();
257+
printInitializeListMethod();
255258
printGetNamingTypeMethod();
256259
printIsImmutableMethod();
257260
printGetNameMethod();
@@ -279,6 +282,58 @@ private void printMethods() {
279282
printNewInstanceMethod();
280283
}
281284

285+
private void printInitializeMapsMethod() {
286+
iprint(
287+
"private void initializeMaps(java.util.Map<String, %1$s<%2$s, ?>> __map, java.util.Map<String, %3$s<%2$s, ?>> __embeddedMap) {%n",
288+
/* 1 */ EntityPropertyType.class,
289+
/* 2 */ entityMeta.getType(),
290+
/* 3 */ EmbeddedPropertyType.class);
291+
indent();
292+
for (EntityPropertyMeta pm : entityMeta.getAllPropertyMetas()) {
293+
EntityTypePropertyGenerator propertyGenerator =
294+
new EntityTypePropertyGenerator(ctx, className, printer, entityMeta, pm);
295+
if (pm.isEmbedded()) {
296+
iprint("__embeddedMap.put(\"%1$s\", ", pm.getName());
297+
propertyGenerator.generate();
298+
print(");%n");
299+
iprint(
300+
"__map.putAll(__embeddedMap.get(\"%1$s\").getEmbeddablePropertyTypeMap());%n",
301+
pm.getName());
302+
} else {
303+
iprint("__map.put(\"%1$s\", ", pm.getName());
304+
propertyGenerator.generate();
305+
print(");%n");
306+
}
307+
}
308+
unindent();
309+
iprint("}%n");
310+
print("%n");
311+
}
312+
313+
private void printInitializeIdListMethod() {
314+
iprint(
315+
"private void initializeIdList(java.util.Map<String, %1$s<%2$s, ?>> __map, java.util.List<%1$s<%2$s, ?>> __idList) {%n",
316+
EntityPropertyType.class, entityMeta.getType());
317+
indent();
318+
for (EntityPropertyMeta pm : entityMeta.getIdPropertyMetas()) {
319+
iprint("__idList.add(__map.get(\"%1$s\"));%n", pm.getName());
320+
}
321+
unindent();
322+
iprint("}%n");
323+
print("%n");
324+
}
325+
326+
private void printInitializeListMethod() {
327+
iprint(
328+
"private void initializeList(java.util.Map<String, %1$s<%2$s, ?>> __map, java.util.List<%1$s<%2$s, ?>> __list) {%n",
329+
EntityPropertyType.class, entityMeta.getType());
330+
indent();
331+
iprint("__list.addAll(__map.values());%n");
332+
unindent();
333+
iprint("}%n");
334+
print("%n");
335+
}
336+
282337
private void printGetNamingTypeMethod() {
283338
iprint("@Override%n");
284339
iprint("public %1$s getNamingType() {%n", NamingType.class);
@@ -451,13 +506,16 @@ private void printGetGeneratedIdPropertyTypeMethod() {
451506
String idName = "null";
452507
if (entityMeta.hasGeneratedIdPropertyMeta()) {
453508
EntityPropertyMeta pm = entityMeta.getGeneratedIdPropertyMeta();
454-
idName = pm.getFieldName();
509+
idName = pm.getName();
455510
}
511+
iprint("@SuppressWarnings(\"unchecked\")%n");
456512
iprint("@Override%n");
457513
iprint(
458514
"public %1$s<%2$s, ?, ?> getGeneratedIdPropertyType() {%n",
459515
GeneratedIdPropertyType.class, entityMeta.getType());
460-
iprint(" return %1$s;%n", idName);
516+
iprint(
517+
" return (%1$s<%2$s, ?, ?>)__entityPropertyTypeMap.get(\"%3$s\");%n",
518+
GeneratedIdPropertyType.class, entityMeta.getType(), idName);
461519
iprint("}%n");
462520
print("%n");
463521
}
@@ -466,13 +524,16 @@ private void printGetVersionPropertyTypeMethod() {
466524
String versionName = "null";
467525
if (entityMeta.hasVersionPropertyMeta()) {
468526
EntityPropertyMeta pm = entityMeta.getVersionPropertyMeta();
469-
versionName = pm.getFieldName();
527+
versionName = pm.getName();
470528
}
529+
iprint("@SuppressWarnings(\"unchecked\")%n");
471530
iprint("@Override%n");
472531
iprint(
473532
"public %1$s<%2$s, ?, ?> getVersionPropertyType() {%n",
474533
VersionPropertyType.class, entityMeta.getType());
475-
iprint(" return %1$s;%n", versionName);
534+
iprint(
535+
" return (%1$s<%2$s, ?, ?>)__entityPropertyTypeMap.get(\"%3$s\");%n",
536+
VersionPropertyType.class, entityMeta.getType(), versionName);
476537
iprint("}%n");
477538
print("%n");
478539
}
@@ -481,19 +542,23 @@ private void printGetTenantIdPropertyTypeMethod() {
481542
String tenantIdName = "null";
482543
if (entityMeta.hasTenantIdPropertyMeta()) {
483544
EntityPropertyMeta pm = entityMeta.getTenantIdPropertyMeta();
484-
tenantIdName = pm.getFieldName();
545+
tenantIdName = pm.getName();
485546
}
547+
iprint("@SuppressWarnings(\"unchecked\")%n");
486548
iprint("@Override%n");
487549
iprint(
488550
"public %1$s<%2$s, ?, ?> getTenantIdPropertyType() {%n",
489551
TenantIdPropertyType.class, entityMeta.getType());
490-
iprint(" return %1$s;%n", tenantIdName);
552+
iprint(
553+
" return (%1$s<%2$s, ?, ?>)__entityPropertyTypeMap.get(\"%3$s\");%n",
554+
TenantIdPropertyType.class, entityMeta.getType(), tenantIdName);
491555
iprint("}%n");
492556
print("%n");
493557
}
494558

495559
private void printNewEntityMethod() {
496-
if (hasGenericTypeProperty()) {
560+
if (hasGenericTypeProperty()
561+
|| (!entityMeta.isImmutable() && entityMeta.hasEmbeddedProperties())) {
497562
iprint("@SuppressWarnings(\"unchecked\")%n");
498563
}
499564
iprint("@Override%n");
@@ -547,10 +612,13 @@ protected Void defaultAction(CtType ctType, Void aVoid)
547612
public Void visitEmbeddableCtType(EmbeddableCtType ctType, Void aVoid)
548613
throws RuntimeException {
549614
iprint(
550-
" %1$s.save(entity, %2$s.newEmbeddable(\"%3$s\", __args));%n",
551-
propertyMeta.getFieldName(),
552-
ctType.getDescCode(),
553-
propertyMeta.getName());
615+
" ((%4$s<%5$s, %6$s>)__embeddedPropertyTypeMap.get(\"%1$s\")).save(entity, %2$s.newEmbeddable(\"%3$s\", __args));%n",
616+
/* 1 */ propertyMeta.getName(),
617+
/* 2 */ ctType.getDescCode(),
618+
/* 3 */ propertyMeta.getName(),
619+
/* 4 */ EmbeddedPropertyType.class,
620+
/* 5 */ entityMeta.getType(),
621+
/* 6 */ ctType.getType());
554622
return null;
555623
}
556624

@@ -612,7 +680,9 @@ private void printSaveCurrentStatesMethod() {
612680
if (!entityMeta.isAbstract() && entityMeta.hasOriginalStatesMeta()) {
613681
iprint(" %1$s __currentStates = new %1$s();%n", entityMeta.getType());
614682
for (EntityPropertyMeta pm : entityMeta.getAllPropertyMetas()) {
615-
iprint(" %1$s.copy(__currentStates, __entity);%n", pm.getFieldName());
683+
iprint(
684+
" (__entityPropertyTypeMap.get(\"%1$s\")).copy(__currentStates, __entity);%n",
685+
pm.getName());
616686
}
617687
iprint(" __originalStatesAccessor.set(__entity, __currentStates);%n");
618688
}

doma-processor/src/main/java/org/seasar/doma/internal/apt/generator/EntityTypePropertyGenerator.java

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public void generate() {
4040
}
4141

4242
private void printPropertyTypeField() {
43-
iprint("/** the %1$s */%n", propertyMeta.getName());
4443
if (propertyMeta.isEmbedded()) {
4544
EmbeddableCtTypeVisitor visitor = new EmbeddableCtTypeVisitor();
4645
EmbeddableCtType embeddableCtType = propertyMeta.getCtType().accept(visitor, null);
@@ -64,26 +63,24 @@ private void printPropertyTypeField() {
6463
}
6564

6665
private void printEmbeddedPropertyTypeField(EmbeddableCtType embeddableCtType) {
67-
iprint(
68-
"public final %1$s<%2$s, %3$s> %4$s = "
69-
+ "new %1$s<>(\"%5$s\", %2$s.class, %6$s.getEmbeddablePropertyTypes(\"%5$s\", %2$s.class, __namingType));%n",
66+
print(
67+
"new %1$s<%2$s, %3$s>(\"%5$s\", %2$s.class, %6$s.getEmbeddablePropertyTypes(\"%5$s\", %2$s.class, __namingType))",
7068
/* 1 */ EmbeddedPropertyType.class,
7169
/* 2 */ entityMeta.getType(),
7270
/* 3 */ propertyMeta.getType(),
73-
/* 4 */ propertyMeta.getFieldName(),
71+
/* 4 */ null,
7472
/* 5 */ propertyMeta.getName(),
7573
/* 6 */ embeddableCtType.getDescCode());
7674
}
7775

7876
private void printGeneratedIdPropertyTypeField(ScalarMeta scalarMeta) {
79-
iprint(
80-
"public final %1$s<%2$s, %3$s, %4$s> %5$s = "
81-
+ "new %1$s<>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s, __idGenerator);%n",
77+
print(
78+
"new %1$s<%2$s, %3$s, %4$s>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s, __idGenerator)",
8279
/* 1 */ GeneratedIdPropertyType.class,
8380
/* 2 */ entityMeta.getType(),
8481
/* 3 */ scalarMeta.getBasicType(),
8582
/* 4 */ scalarMeta.getContainerType(),
86-
/* 5 */ propertyMeta.getFieldName(),
83+
/* 5 */ null,
8784
/* 6 */ entityMeta.getType(),
8885
/* 7 */ scalarMeta.getSupplier(),
8986
/* 8 */ propertyMeta.getName(),
@@ -92,14 +89,13 @@ private void printGeneratedIdPropertyTypeField(ScalarMeta scalarMeta) {
9289
}
9390

9491
private void printAssignedIdPropertyTypeField(ScalarMeta scalarMeta) {
95-
iprint(
96-
"public final %1$s<%2$s, %3$s, %4$s> %5$s = "
97-
+ "new %1$s<>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s);%n",
92+
print(
93+
"new %1$s<%2$s, %3$s, %4$s>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s)",
9894
/* 1 */ AssignedIdPropertyType.class,
9995
/* 2 */ entityMeta.getType(),
10096
/* 3 */ scalarMeta.getBasicType(),
10197
/* 4 */ scalarMeta.getContainerType(),
102-
/* 5 */ propertyMeta.getFieldName(),
98+
/* 5 */ null,
10399
/* 6 */ entityMeta.getType(),
104100
/* 7 */ scalarMeta.getSupplier(),
105101
/* 8 */ propertyMeta.getName(),
@@ -108,14 +104,13 @@ private void printAssignedIdPropertyTypeField(ScalarMeta scalarMeta) {
108104
}
109105

110106
private void printVersionPropertyTypeField(ScalarMeta scalarMeta) {
111-
iprint(
112-
"public final %1$s<%2$s, %3$s, %4$s> %5$s = "
113-
+ "new %1$s<>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s);%n",
107+
print(
108+
"new %1$s<%2$s, %3$s, %4$s>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s)",
114109
/* 1 */ VersionPropertyType.class,
115110
/* 2 */ entityMeta.getType(),
116111
/* 3 */ scalarMeta.getBasicType(),
117112
/* 4 */ scalarMeta.getContainerType(),
118-
/* 5 */ propertyMeta.getFieldName(),
113+
/* 5 */ null,
119114
/* 6 */ entityMeta.getType(),
120115
/* 7 */ scalarMeta.getSupplier(),
121116
/* 8 */ propertyMeta.getName(),
@@ -124,14 +119,13 @@ private void printVersionPropertyTypeField(ScalarMeta scalarMeta) {
124119
}
125120

126121
private void printTenantIdPropertyTypeField(ScalarMeta scalarMeta) {
127-
iprint(
128-
"public final %1$s<%2$s, %3$s, %4$s> %5$s = "
129-
+ "new %1$s<>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s);%n",
122+
print(
123+
"new %1$s<%2$s, %3$s, %4$s>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s)",
130124
/* 1 */ TenantIdPropertyType.class,
131125
/* 2 */ entityMeta.getType(),
132126
/* 3 */ scalarMeta.getBasicType(),
133127
/* 4 */ scalarMeta.getContainerType(),
134-
/* 5 */ propertyMeta.getFieldName(),
128+
/* 5 */ null,
135129
/* 6 */ entityMeta.getType(),
136130
/* 7 */ scalarMeta.getSupplier(),
137131
/* 8 */ propertyMeta.getName(),
@@ -140,14 +134,13 @@ private void printTenantIdPropertyTypeField(ScalarMeta scalarMeta) {
140134
}
141135

142136
private void printDefaultPropertyTypeField(ScalarMeta scalarMeta) {
143-
iprint(
144-
"public final %1$s<%2$s, %3$s, %4$s> %5$s = "
145-
+ "new %1$s<>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s, %11$s, %12$s);%n",
137+
print(
138+
"new %1$s<%2$s, %3$s, %4$s>(%6$s.class, %7$s, \"%8$s\", \"%9$s\", __namingType, %10$s, %11$s, %12$s)",
146139
/* 1 */ DefaultPropertyType.class,
147140
/* 2 */ entityMeta.getType(),
148141
/* 3 */ scalarMeta.getBasicType(),
149142
/* 4 */ scalarMeta.getContainerType(),
150-
/* 5 */ propertyMeta.getFieldName(),
143+
/* 5 */ null,
151144
/* 6 */ entityMeta.getType(),
152145
/* 7 */ scalarMeta.getSupplier(),
153146
/* 8 */ propertyMeta.getName(),

doma-processor/src/main/java/org/seasar/doma/internal/apt/processor/AbstractGeneratingProcessor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ protected void generate(TypeElement typeElement, M meta) {
5555
try {
5656
JavaFileObject file = ctx.getResources().createSourceFile(className, typeElement);
5757
formatter = new Formatter(new BufferedWriter(file.openWriter()));
58-
Generator generator = createGenerator(className, new Printer(ctx, formatter), meta);
58+
Printer printer = new Printer(ctx, formatter);
59+
Generator generator = createGenerator(className, printer, meta);
5960
generator.generate();
6061
} catch (IOException | UncheckedIOException e) {
6162
throw new AptException(

doma-processor/src/test/resources/org/seasar/doma/internal/apt/processor/embeddable/EmbeddableProcessorTest_AbstractEmbeddable.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public final class _AbstractEmbeddable implements org.seasar.doma.jdbc.entity.Em
1414
@Override
1515
public <ENTITY> java.util.List<org.seasar.doma.jdbc.entity.EntityPropertyType<ENTITY, ?>> getEmbeddablePropertyTypes(String embeddedPropertyName, Class<ENTITY> entityClass, org.seasar.doma.jdbc.entity.NamingType namingType) {
1616
return java.util.Arrays.asList(
17-
new org.seasar.doma.jdbc.entity.DefaultPropertyType<ENTITY, java.lang.String, java.lang.String>(entityClass, () -> new org.seasar.doma.internal.jdbc.scalar.BasicScalar<>(org.seasar.doma.wrapper.StringWrapper::new), embeddedPropertyName + ".aaa", "", namingType, true, true, false));
17+
new org.seasar.doma.jdbc.entity.DefaultPropertyType<ENTITY, java.lang.String, java.lang.String>(entityClass, () -> new org.seasar.doma.internal.jdbc.scalar.BasicScalar<>(new org.seasar.doma.wrapper.StringWrapper()), embeddedPropertyName + ".aaa", "", namingType, true, true, false));
1818
}
1919

2020
@Override

doma-processor/src/test/resources/org/seasar/doma/internal/apt/processor/embeddable/EmbeddableProcessorTest_Address.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ public final class _Address implements org.seasar.doma.jdbc.entity.EmbeddableTyp
1414
@Override
1515
public <ENTITY> java.util.List<org.seasar.doma.jdbc.entity.EntityPropertyType<ENTITY, ?>> getEmbeddablePropertyTypes(String embeddedPropertyName, Class<ENTITY> entityClass, org.seasar.doma.jdbc.entity.NamingType namingType) {
1616
return java.util.Arrays.asList(
17-
new org.seasar.doma.jdbc.entity.DefaultPropertyType<ENTITY, java.lang.String, java.lang.String>(entityClass, () -> new org.seasar.doma.internal.jdbc.scalar.BasicScalar<>(org.seasar.doma.wrapper.StringWrapper::new), embeddedPropertyName + ".city", "", namingType, true, true, false),
18-
new org.seasar.doma.jdbc.entity.DefaultPropertyType<ENTITY, java.lang.String, java.lang.String>(entityClass, () -> new org.seasar.doma.internal.jdbc.scalar.BasicScalar<>(org.seasar.doma.wrapper.StringWrapper::new), embeddedPropertyName + ".street", "STREET", namingType, false, true, false));
17+
new org.seasar.doma.jdbc.entity.DefaultPropertyType<ENTITY, java.lang.String, java.lang.String>(entityClass, () -> new org.seasar.doma.internal.jdbc.scalar.BasicScalar<>(new org.seasar.doma.wrapper.StringWrapper()), embeddedPropertyName + ".city", "", namingType, true, true, false),
18+
new org.seasar.doma.jdbc.entity.DefaultPropertyType<ENTITY, java.lang.String, java.lang.String>(entityClass, () -> new org.seasar.doma.internal.jdbc.scalar.BasicScalar<>(new org.seasar.doma.wrapper.StringWrapper()), embeddedPropertyName + ".street", "STREET", namingType, false, true, false));
1919
}
2020

2121
@Override

0 commit comments

Comments
 (0)