@@ -171,12 +171,18 @@ private MethodSpec buildFromAttributeValueMethod(TypeInfo typeInfo) {
171
171
}
172
172
173
173
private void addConvenienceMethods (TypeSpec .Builder classBuilder , TypeInfo typeInfo ) {
174
+ classBuilder .addMethod (buildFromDynamoDbItemMethod (typeInfo ));
175
+ classBuilder .addMethod (buildFromDynamoDbItemsMethod (typeInfo ));
176
+ classBuilder .addMethod (buildToDynamoDbItemMethod (typeInfo ));
177
+ classBuilder .addMethod (buildToDynamoDbItemsMethod (typeInfo ));
178
+ }
179
+
180
+ private MethodSpec buildFromDynamoDbItemMethod (TypeInfo typeInfo ) {
174
181
String className = typeInfo .getClassName ();
175
182
ClassName attributeValue = ClassName .get (AttributeValue .class );
176
183
ClassName domainClass = ClassName .bestGuess (typeInfo .getFullyQualifiedClassName ());
177
184
178
- // fromDynamoDbItem method
179
- MethodSpec fromDynamoDbItem = MethodSpec .methodBuilder ("fromDynamoDbItem" )
185
+ return MethodSpec .methodBuilder ("fromDynamoDbItem" )
180
186
.addModifiers (Modifier .PUBLIC )
181
187
.returns (ParameterizedTypeName .get (ClassName .get ("java.util" , "Optional" ), domainClass ))
182
188
.addParameter (ParameterizedTypeName .get (
@@ -195,9 +201,14 @@ private void addConvenienceMethods(TypeSpec.Builder classBuilder, TypeInfo typeI
195
201
domainClass , attributeValue )
196
202
.addStatement ("return $T.ofNullable(result)" , ClassName .get ("java.util" , "Optional" ))
197
203
.build ();
204
+ }
198
205
199
- // fromDynamoDbItems method
200
- MethodSpec fromDynamoDbItems = MethodSpec .methodBuilder ("fromDynamoDbItems" )
206
+ private MethodSpec buildFromDynamoDbItemsMethod (TypeInfo typeInfo ) {
207
+ String className = typeInfo .getClassName ();
208
+ ClassName attributeValue = ClassName .get (AttributeValue .class );
209
+ ClassName domainClass = ClassName .bestGuess (typeInfo .getFullyQualifiedClassName ());
210
+
211
+ return MethodSpec .methodBuilder ("fromDynamoDbItems" )
201
212
.addModifiers (Modifier .PUBLIC )
202
213
.returns (ParameterizedTypeName .get (ClassName .get (List .class ), domainClass ))
203
214
.addParameter (ParameterizedTypeName .get (
@@ -221,9 +232,14 @@ private void addConvenienceMethods(TypeSpec.Builder classBuilder, TypeInfo typeI
221
232
".collect($T.toList())$<$<$<$<" ,
222
233
attributeValue , ClassName .get (Objects .class ), ClassName .get (Collectors .class ))
223
234
.build ();
235
+ }
236
+
237
+ private MethodSpec buildToDynamoDbItemMethod (TypeInfo typeInfo ) {
238
+ String className = typeInfo .getClassName ();
239
+ ClassName attributeValue = ClassName .get (AttributeValue .class );
240
+ ClassName domainClass = ClassName .bestGuess (typeInfo .getFullyQualifiedClassName ());
224
241
225
- // toDynamoDbItem method
226
- MethodSpec toDynamoDbItem = MethodSpec .methodBuilder ("toDynamoDbItem" )
242
+ return MethodSpec .methodBuilder ("toDynamoDbItem" )
227
243
.addModifiers (Modifier .PUBLIC )
228
244
.returns (ParameterizedTypeName .get (
229
245
ClassName .get (Map .class ),
@@ -241,9 +257,14 @@ private void addConvenienceMethods(TypeSpec.Builder classBuilder, TypeInfo typeI
241
257
.addStatement ("$T av = toDynamoDbAttributeValue(object)" , attributeValue )
242
258
.addStatement ("return av != null ? av.m() : null" )
243
259
.build ();
260
+ }
244
261
245
- // toDynamoDbItems method
246
- MethodSpec toDynamoDbItems = MethodSpec .methodBuilder ("toDynamoDbItems" )
262
+ private MethodSpec buildToDynamoDbItemsMethod (TypeInfo typeInfo ) {
263
+ String className = typeInfo .getClassName ();
264
+ ClassName attributeValue = ClassName .get (AttributeValue .class );
265
+ ClassName domainClass = ClassName .bestGuess (typeInfo .getFullyQualifiedClassName ());
266
+
267
+ return MethodSpec .methodBuilder ("toDynamoDbItems" )
247
268
.addModifiers (Modifier .PUBLIC )
248
269
.returns (ParameterizedTypeName .get (
249
270
ClassName .get (List .class ),
@@ -268,11 +289,6 @@ private void addConvenienceMethods(TypeSpec.Builder classBuilder, TypeInfo typeI
268
289
".collect($T.toList())$<$<$<$<$<" ,
269
290
ClassName .get (Objects .class ), ClassName .get (Collectors .class ))
270
291
.build ();
271
-
272
- classBuilder .addMethod (fromDynamoDbItem );
273
- classBuilder .addMethod (fromDynamoDbItems );
274
- classBuilder .addMethod (toDynamoDbItem );
275
- classBuilder .addMethod (toDynamoDbItems );
276
292
}
277
293
278
294
@ Override
0 commit comments