Skip to content

Commit 41e8683

Browse files
committed
Polish
1 parent 560f53d commit 41e8683

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

spring-web/src/main/java/org/springframework/http/converter/json/JacksonModulesRuntimeHints.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,37 @@
1616

1717
package org.springframework.http.converter.json;
1818

19+
import java.util.function.Consumer;
20+
1921
import org.springframework.aot.hint.MemberCategory;
20-
import org.springframework.aot.hint.ReflectionHints;
2122
import org.springframework.aot.hint.RuntimeHints;
2223
import org.springframework.aot.hint.RuntimeHintsRegistrar;
24+
import org.springframework.aot.hint.TypeHint.Builder;
2325
import org.springframework.aot.hint.TypeReference;
2426

2527
/**
2628
* {@link RuntimeHintsRegistrar} implementation that registers reflection entries
2729
* for {@link Jackson2ObjectMapperBuilder} well-known modules.
2830
*
2931
* @author Sebastien Deleuze
32+
* @author Stephane Nicoll
3033
* @since 6.0
3134
*/
3235
class JacksonModulesRuntimeHints implements RuntimeHintsRegistrar {
3336

37+
private static final Consumer<Builder> asJacksonModule = builder ->
38+
builder.onReachableType(TypeReference.of(Jackson2ObjectMapperBuilder.class))
39+
.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
40+
3441
@Override
3542
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
36-
ReflectionHints reflectionHints = hints.reflection();
37-
registerType(reflectionHints, "com.fasterxml.jackson.datatype.jdk8.Jdk8Module", classLoader);
38-
registerType(reflectionHints, "com.fasterxml.jackson.datatype.jsr310.JavaTimeModule", classLoader);
39-
registerType(reflectionHints, "com.fasterxml.jackson.module.kotlin.KotlinModule", classLoader);
43+
hints.reflection()
44+
.registerTypeIfPresent(classLoader,
45+
"com.fasterxml.jackson.datatype.jdk8.Jdk8Module", asJacksonModule)
46+
.registerTypeIfPresent(classLoader,
47+
"com.fasterxml.jackson.datatype.jsr310.JavaTimeModule", asJacksonModule)
48+
.registerTypeIfPresent(classLoader,
49+
"com.fasterxml.jackson.module.kotlin.KotlinModule", asJacksonModule);
4050
}
4151

42-
private void registerType(ReflectionHints reflectionHints, String className, ClassLoader classLoader) {
43-
reflectionHints.registerTypeIfPresent(classLoader, className,
44-
builder -> builder.onReachableType(TypeReference.of(Jackson2ObjectMapperBuilder.class))
45-
.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
46-
}
4752
}

0 commit comments

Comments
 (0)