Skip to content

Commit d8f650e

Browse files
committed
Polishing
1 parent 7cb6ac0 commit d8f650e

File tree

3 files changed

+49
-53
lines changed

3 files changed

+49
-53
lines changed

spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@ public Object resolveShortcut(BeanFactory beanFactory) {
878878
/**
879879
* {@link BeanRegistrationAotContribution} to autowire fields and methods.
880880
*/
881-
private class AotContribution implements BeanRegistrationAotContribution {
881+
private static class AotContribution implements BeanRegistrationAotContribution {
882882

883883
private static final String APPLY_METHOD = "apply";
884884

spring-beans/src/main/java/org/springframework/beans/factory/aot/BeanDefinitionPropertyValueCodeGenerator.java

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
package org.springframework.beans.factory.aot;
1818

1919
import java.lang.reflect.Array;
20-
import java.util.ArrayList;
2120
import java.util.Collection;
2221
import java.util.Collections;
23-
import java.util.HashMap;
2422
import java.util.Iterator;
2523
import java.util.LinkedHashMap;
2624
import java.util.LinkedHashSet;
@@ -61,25 +59,25 @@ class BeanDefinitionPropertyValueCodeGenerator {
6159

6260
private final MethodGenerator methodGenerator;
6361

64-
private final List<Delegate> delegates;
62+
private final List<Delegate> delegates = List.of(
63+
new PrimitiveDelegate(),
64+
new StringDelegate(),
65+
new EnumDelegate(),
66+
new ClassDelegate(),
67+
new ResolvableTypeDelegate(),
68+
new ArrayDelegate(),
69+
new ManagedListDelegate(),
70+
new ManagedSetDelegate(),
71+
new ManagedMapDelegate(),
72+
new ListDelegate(),
73+
new SetDelegate(),
74+
new MapDelegate(),
75+
new BeanReferenceDelegate()
76+
);
6577

6678

6779
BeanDefinitionPropertyValueCodeGenerator(MethodGenerator methodGenerator) {
6880
this.methodGenerator = methodGenerator;
69-
this.delegates = new ArrayList<>();
70-
this.delegates.add(new PrimitiveDelegate());
71-
this.delegates.add(new StringDelegate());
72-
this.delegates.add(new EnumDelegate());
73-
this.delegates.add(new ClassDelegate());
74-
this.delegates.add(new ResolvableTypeDelegate());
75-
this.delegates.add(new ArrayDelegate());
76-
this.delegates.add(new ManagedListDelegate());
77-
this.delegates.add(new ManagedSetDelegate());
78-
this.delegates.add(new ManagedMapDelegate());
79-
this.delegates.add(new ListDelegate());
80-
this.delegates.add(new SetDelegate());
81-
this.delegates.add(new MapDelegate());
82-
this.delegates.add(new BeanReferenceDelegate());
8381
}
8482

8583

@@ -121,20 +119,17 @@ private interface Delegate {
121119
*/
122120
private static class PrimitiveDelegate implements Delegate {
123121

124-
private static final Map<Character, String> CHAR_ESCAPES;
125-
126-
static {
127-
Map<Character, String> escapes = new HashMap<>();
128-
escapes.put('\b', "\\b");
129-
escapes.put('\t', "\\t");
130-
escapes.put('\n', "\\n");
131-
escapes.put('\f', "\\f");
132-
escapes.put('\r', "\\r");
133-
escapes.put('\"', "\"");
134-
escapes.put('\'', "\\'");
135-
escapes.put('\\', "\\\\");
136-
CHAR_ESCAPES = Collections.unmodifiableMap(escapes);
137-
}
122+
private static final Map<Character, String> CHAR_ESCAPES = Map.of(
123+
'\b', "\\b",
124+
'\t', "\\t",
125+
'\n', "\\n",
126+
'\f', "\\f",
127+
'\r', "\\r",
128+
'\"', "\"",
129+
'\'', "\\'",
130+
'\\', "\\\\"
131+
);
132+
138133

139134
@Override
140135
@Nullable
@@ -258,7 +253,9 @@ public CodeBlock generateCode(@Nullable Object value, ResolvableType type) {
258253
builder.add("new $T {", type.toClass());
259254
for (int i = 0; i < length; i++) {
260255
Object component = Array.get(value, i);
261-
builder.add((i != 0) ? ", " : "");
256+
if (i != 0) {
257+
builder.add(", ");
258+
}
262259
builder.add("$L", BeanDefinitionPropertyValueCodeGenerator.this
263260
.generateCode(component, componentType));
264261
}
@@ -274,8 +271,7 @@ public CodeBlock generateCode(@Nullable Object value, ResolvableType type) {
274271
/**
275272
* Abstract {@link Delegate} for {@code Collection} types.
276273
*/
277-
private abstract class CollectionDelegate<T extends Collection<?>>
278-
implements Delegate {
274+
private abstract class CollectionDelegate<T extends Collection<?>> implements Delegate {
279275

280276
private final Class<?> collectionType;
281277

@@ -301,8 +297,7 @@ public CodeBlock generateCode(Object value, ResolvableType type) {
301297
return null;
302298
}
303299

304-
protected CodeBlock generateCollectionCode(ResolvableType elementType,
305-
T collection) {
300+
protected CodeBlock generateCollectionCode(ResolvableType elementType, T collection) {
306301
return generateCollectionOf(collection, this.collectionType, elementType);
307302
}
308303

@@ -315,7 +310,9 @@ protected final CodeBlock generateCollectionOf(Collection<?> collection,
315310
Object element = iterator.next();
316311
builder.add("$L", BeanDefinitionPropertyValueCodeGenerator.this
317312
.generateCode(element, elementType));
318-
builder.add((!iterator.hasNext()) ? "" : ", ");
313+
if (iterator.hasNext()) {
314+
builder.add(", ");
315+
}
319316
}
320317
builder.add(")");
321318
return builder.build();
@@ -382,7 +379,9 @@ private <K, V> CodeBlock generateManagedMapCode(ResolvableType type,
382379
.generateCode(entry.getKey(), keyType),
383380
BeanDefinitionPropertyValueCodeGenerator.this
384381
.generateCode(entry.getValue(), valueType));
385-
builder.add((!iterator.hasNext()) ? "" : ", ");
382+
if (iterator.hasNext()) {
383+
builder.add(", ");
384+
}
386385
}
387386
builder.add(")");
388387
return builder.build();
@@ -413,8 +412,7 @@ private class SetDelegate extends CollectionDelegate<Set<?>> {
413412
}
414413

415414
@Override
416-
protected CodeBlock generateCollectionCode(ResolvableType elementType,
417-
Set<?> set) {
415+
protected CodeBlock generateCollectionCode(ResolvableType elementType, Set<?> set) {
418416
if (set instanceof LinkedHashSet) {
419417
return CodeBlock.of("new $T($L)", LinkedHashSet.class,
420418
generateCollectionOf(set, List.class, elementType));
@@ -473,7 +471,9 @@ private <K, V> CodeBlock generateMapCode(ResolvableType type, Map<K, V> map) {
473471
else {
474472
builder.add("$T.entry($L,$L)", Map.class, keyCode, valueCode);
475473
}
476-
builder.add((!iterator.hasNext()) ? "" : ", ");
474+
if (iterator.hasNext()) {
475+
builder.add(", ");
476+
}
477477
}
478478
builder.add(")");
479479
return builder.build();
@@ -495,12 +495,11 @@ private <K, V> CodeBlock generateLinkedHashMapCode(Map<K, V> map,
495495
builder.returns(Map.class);
496496
builder.addStatement("$T map = new $T($L)", Map.class,
497497
LinkedHashMap.class, map.size());
498-
map.forEach(
499-
(key, value) -> builder.addStatement("map.put($L, $L)",
500-
BeanDefinitionPropertyValueCodeGenerator.this
501-
.generateCode(key, keyType),
502-
BeanDefinitionPropertyValueCodeGenerator.this
503-
.generateCode(value, valueType)));
498+
map.forEach((key, value) -> builder.addStatement("map.put($L, $L)",
499+
BeanDefinitionPropertyValueCodeGenerator.this
500+
.generateCode(key, keyType),
501+
BeanDefinitionPropertyValueCodeGenerator.this
502+
.generateCode(value, valueType)));
504503
builder.addStatement("return map");
505504
});
506505
return CodeBlock.of("$L()", method.getName());

spring-beans/src/test/java/org/springframework/beans/factory/aot/BeanDefinitionPropertyValueCodeGeneratorTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -471,11 +471,8 @@ class BeanReferenceTests {
471471
@Test
472472
void generatedWhenBeanReference() {
473473
BeanReference beanReference = new RuntimeBeanNameReference("test");
474-
compile(beanReference,
475-
(instance,
476-
compiler) -> assertThat(
477-
((BeanReference) instance).getBeanName())
478-
.isEqualTo(beanReference.getBeanName()));
474+
compile(beanReference, (instance, compiler) ->
475+
assertThat(((BeanReference) instance).getBeanName()).isEqualTo(beanReference.getBeanName()));
479476
}
480477

481478
}

0 commit comments

Comments
 (0)