From 1205f53c4a6543dfda0f4eab5763afeac52109bf Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Sat, 2 Jul 2022 15:11:35 +0900 Subject: [PATCH] Polish --- .../codec/CodecConfigurerHintsRegistrar.java | 10 ++++---- .../JacksonBuilderRuntimeHintsRegistrar.java | 12 ++++++---- ...HandshakeHandlerRuntimeHintsRegistrar.java | 23 +++++++++---------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/codec/CodecConfigurerHintsRegistrar.java b/spring-web/src/main/java/org/springframework/http/codec/CodecConfigurerHintsRegistrar.java index cbc7b1d5f7d..34d50a2f01e 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/CodecConfigurerHintsRegistrar.java +++ b/spring-web/src/main/java/org/springframework/http/codec/CodecConfigurerHintsRegistrar.java @@ -36,10 +36,12 @@ public class CodecConfigurerHintsRegistrar implements RuntimeHintsRegistrar { @Override public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) { hints.resources().registerPattern("org/springframework/http/codec/CodecConfigurer.properties"); - hints.reflection().registerType(DefaultClientCodecConfigurer.class, builder -> - builder.onReachableType(TypeReference.of(CodecConfigurerFactory.class)) - .withMembers(MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS)); - hints.reflection().registerType(DefaultServerCodecConfigurer.class, builder -> + registerType(hints, DefaultClientCodecConfigurer.class); + registerType(hints, DefaultServerCodecConfigurer.class); + } + + private void registerType(RuntimeHints hints, Class type) { + hints.reflection().registerType(type, builder -> builder.onReachableType(TypeReference.of(CodecConfigurerFactory.class)) .withMembers(MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS)); } diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/JacksonBuilderRuntimeHintsRegistrar.java b/spring-web/src/main/java/org/springframework/http/converter/json/JacksonBuilderRuntimeHintsRegistrar.java index d3327a7117b..36910925c7a 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/JacksonBuilderRuntimeHintsRegistrar.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/JacksonBuilderRuntimeHintsRegistrar.java @@ -33,11 +33,13 @@ public class JacksonBuilderRuntimeHintsRegistrar implements RuntimeHintsRegistra @Override public void registerHints(RuntimeHints hints, ClassLoader classLoader) { ReflectionHints reflectionHints = hints.reflection(); - reflectionHints.registerType(TypeReference.of("com.fasterxml.jackson.datatype.jdk8.Jdk8Module"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); - reflectionHints.registerType(TypeReference.of("com.fasterxml.jackson.datatype.jsr310.JavaTimeModule"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); - reflectionHints.registerType(TypeReference.of("com.fasterxml.jackson.module.kotlin.KotlinModule"), + registerType(reflectionHints, "com.fasterxml.jackson.datatype.jdk8.Jdk8Module"); + registerType(reflectionHints, "com.fasterxml.jackson.datatype.jsr310.JavaTimeModule"); + registerType(reflectionHints, "com.fasterxml.jackson.module.kotlin.KotlinModule"); + } + + private void registerType(ReflectionHints reflectionHints, String className) { + reflectionHints.registerType(TypeReference.of(className), builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); } } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeHandlerRuntimeHintsRegistrar.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeHandlerRuntimeHintsRegistrar.java index 1dd881e19c4..be19710a59e 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeHandlerRuntimeHintsRegistrar.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeHandlerRuntimeHintsRegistrar.java @@ -64,28 +64,27 @@ public class HandshakeHandlerRuntimeHintsRegistrar implements RuntimeHintsRegist public void registerHints(RuntimeHints hints, ClassLoader classLoader) { ReflectionHints reflectionHints = hints.reflection(); if (tomcatWsPresent) { - reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + registerType(reflectionHints, "org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy"); } else if (jettyWsPresent) { - reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + registerType(reflectionHints, "org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy"); } else if (undertowWsPresent) { - reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.UndertowRequestUpgradeStrategy"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + registerType(reflectionHints, "org.springframework.web.socket.server.standard.UndertowRequestUpgradeStrategy"); } else if (glassfishWsPresent) { - reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + registerType(reflectionHints, "org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy"); } else if (weblogicWsPresent) { - reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.WebLogicRequestUpgradeStrategy"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + registerType(reflectionHints, "org.springframework.web.socket.server.standard.WebLogicRequestUpgradeStrategy"); } else if (websphereWsPresent) { - reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.WebSphereRequestUpgradeStrategy"), - builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + registerType(reflectionHints, "org.springframework.web.socket.server.standard.WebSphereRequestUpgradeStrategy"); } } + + private void registerType(ReflectionHints reflectionHints, String className) { + reflectionHints.registerType(TypeReference.of(className), + builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); + } }