1
1
package io .avaje .inject .generator ;
2
+
2
3
import static io .avaje .inject .generator .ProcessingContext .*;
3
4
4
5
import java .util .ArrayList ;
@@ -35,6 +36,7 @@ final class MetaData {
35
36
* Type deemed to be candidate for providing to another external module.
36
37
*/
37
38
private String autoProvides ;
39
+
38
40
private boolean generateProxy ;
39
41
private boolean usesExternalDependency ;
40
42
private String externalDependency ;
@@ -175,23 +177,47 @@ void buildMethod(Append append) {
175
177
if (usesExternalDependency ) {
176
178
append .append (" // uses external dependency " ).append (externalDependency ).append (NEWLINE );
177
179
}
178
- append .append (" @DependencyMeta(type=\" " ).append (type ).append ("\" " );
179
- if (name != null ) {
180
- append .append (", name=\" " ).append (name ).append ("\" " );
180
+
181
+ final var hasName = name != null ;
182
+ final var hasMethod = hasMethod ();
183
+ final var hasProvidesAspect = !providesAspect .isEmpty ();
184
+ final var hasDependsOn = !dependsOn .isEmpty ();
185
+ final var hasProvides = !provides .isEmpty ();
186
+ final var hasAutoProvides = autoProvides != null && !autoProvides .isEmpty ();
187
+
188
+ append .append (" @DependencyMeta(" );
189
+
190
+ if (hasName
191
+ || hasMethod
192
+ || hasProvidesAspect
193
+ || hasDependsOn
194
+ || hasProvides
195
+ || hasAutoProvides ) {
196
+ append .eol ().append (" " );
181
197
}
182
- if (hasMethod ()) {
183
- append .append (", method=\" " ).append (method ).append ("\" " );
198
+
199
+ append .append ("type = \" " ).append (type ).append ("\" " );
200
+ if (hasName ) {
201
+ append .append ("," ).eol ().append (" name = \" " ).append (name ).append ("\" " );
202
+ }
203
+ if (hasMethod ) {
204
+ append .append ("," ).eol ().append (" method = \" " ).append (method ).append ("\" " );
184
205
}
185
- if (!providesAspect .isEmpty ()) {
186
- append .append (", providesAspect=\" " ).append (providesAspect ).append ("\" " );
187
- } else if (!provides .isEmpty ()) {
206
+ if (hasProvidesAspect ) {
207
+ append
208
+ .append ("," )
209
+ .eol ()
210
+ .append (" providesAspect = \" " )
211
+ .append (providesAspect )
212
+ .append ("\" " );
213
+ } else if (hasProvides ) {
188
214
appendProvides (append , "provides" , provides );
189
215
}
190
- if (! dependsOn . isEmpty () ) {
216
+ if (hasDependsOn ) {
191
217
appendProvides (append , "dependsOn" , dependsOn .stream ().map (Dependency ::dependsOn ).collect (Collectors .toList ()));
192
218
}
193
- if (autoProvides != null && ! autoProvides . isEmpty () ) {
194
- append .append (", autoProvides= \" " ).append (autoProvides ).append ("\" " );
219
+ if (hasAutoProvides ) {
220
+ append .append ("," ). eol (). append ( " autoProvides = \" " ).append (autoProvides ).append ("\" " );
195
221
}
196
222
append .append (")" ).append (NEWLINE );
197
223
append .append (" private void build_" ).append (buildName ()).append ("() {" ).append (NEWLINE );
@@ -210,15 +236,22 @@ private boolean hasMethod() {
210
236
}
211
237
212
238
private void appendProvides (Append sb , String attribute , List <String > types ) {
213
- sb .append (", " ).append (attribute ).append ("={" );
239
+ sb .append ("," ).eol ().append (" " ).append (attribute ).append (" = {" );
240
+ final var size = types .size ();
241
+ if (size > 1 ) {
242
+ sb .eol ().append (" " );
243
+ }
214
244
for (int i = 0 ; i < types .size (); i ++) {
215
245
if (i > 0 ) {
216
- sb .append ("," );
246
+ sb .append ("," ). eol (). append ( " " ) ;
217
247
}
218
248
sb .append ("\" " );
219
249
sb .append (types .get (i ));
220
250
sb .append ("\" " );
221
251
}
252
+ if (size > 1 ) {
253
+ sb .eol ().append (" " );
254
+ }
222
255
sb .append ("}" );
223
256
}
224
257
0 commit comments