4040import org .jspecify .annotations .Nullable ;
4141
4242import org .springframework .core .ResolvableType ;
43- import org .springframework .kafka .support .JacksonUtils ;
44- import org .springframework .kafka .support .mapping .AbstractJavaTypeMapper ;
45- import org .springframework .kafka .support .mapping .DefaultJackson2JavaTypeMapper ;
46- import org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper ;
47- import org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence ;
4843import org .springframework .util .Assert ;
4944import org .springframework .util .ClassUtils ;
5045import org .springframework .util .StringUtils ;
7166 * @deprecated since 4.0 in favor of {@link JacksonJsonDeserializer} for Jackson 3.
7267 */
7368@ Deprecated (forRemoval = true , since = "4.0" )
69+ @ SuppressWarnings ("removal" )
7470public class JsonDeserializer <T > implements Deserializer <T > {
7571
7672 /**
@@ -134,7 +130,8 @@ public class JsonDeserializer<T> implements Deserializer<T> {
134130
135131 protected @ Nullable JavaType targetType ; // NOSONAR
136132
137- protected Jackson2JavaTypeMapper typeMapper = new DefaultJackson2JavaTypeMapper (); // NOSONAR
133+ protected org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper typeMapper =
134+ new org .springframework .kafka .support .mapping .DefaultJackson2JavaTypeMapper (); // NOSONAR
138135
139136 private @ Nullable ObjectReader reader ;
140137
@@ -203,7 +200,7 @@ public JsonDeserializer(@Nullable JavaType targetType) {
203200 * @since 2.2
204201 */
205202 public JsonDeserializer (@ Nullable Class <? super T > targetType , boolean useHeadersIfPresent ) {
206- this (targetType , JacksonUtils .enhancedObjectMapper (), useHeadersIfPresent );
203+ this (targetType , org . springframework . kafka . support . JacksonUtils .enhancedObjectMapper (), useHeadersIfPresent );
207204 }
208205
209206 /**
@@ -215,7 +212,7 @@ public JsonDeserializer(@Nullable Class<? super T> targetType, boolean useHeader
215212 * @since 2.3
216213 */
217214 public JsonDeserializer (@ Nullable TypeReference <? super T > targetType , boolean useHeadersIfPresent ) {
218- this (targetType , JacksonUtils .enhancedObjectMapper (), useHeadersIfPresent );
215+ this (targetType , org . springframework . kafka . support . JacksonUtils .enhancedObjectMapper (), useHeadersIfPresent );
219216 }
220217
221218 /**
@@ -227,7 +224,7 @@ public JsonDeserializer(@Nullable TypeReference<? super T> targetType, boolean u
227224 * @since 2.3
228225 */
229226 public JsonDeserializer (@ Nullable JavaType targetType , boolean useHeadersIfPresent ) {
230- this (targetType , JacksonUtils .enhancedObjectMapper (), useHeadersIfPresent );
227+ this (targetType , org . springframework . kafka . support . JacksonUtils .enhancedObjectMapper (), useHeadersIfPresent );
231228 }
232229
233230 /**
@@ -318,22 +315,22 @@ public JsonDeserializer(@Nullable JavaType targetType, ObjectMapper objectMapper
318315 initialize (targetType , useHeadersIfPresent );
319316 }
320317
321- public Jackson2JavaTypeMapper getTypeMapper () {
318+ public org . springframework . kafka . support . mapping . Jackson2JavaTypeMapper getTypeMapper () {
322319 return this .typeMapper ;
323320 }
324321
325322 /**
326- * Set a customized type mapper. If the mapper is an {@link AbstractJavaTypeMapper},
323+ * Set a customized type mapper. If the mapper is an {@link org.springframework.kafka.support.mapping. AbstractJavaTypeMapper},
327324 * any class mappings configured in the mapper will be added to the trusted packages.
328325 * @param typeMapper the type mapper.
329326 * @since 2.1
330327 */
331- public void setTypeMapper (Jackson2JavaTypeMapper typeMapper ) {
328+ public void setTypeMapper (org . springframework . kafka . support . mapping . Jackson2JavaTypeMapper typeMapper ) {
332329 Assert .notNull (typeMapper , "'typeMapper' cannot be null" );
333330 this .typeMapper = typeMapper ;
334331 this .typeMapperExplicitlySet = true ;
335- if (typeMapper instanceof AbstractJavaTypeMapper ) {
336- addMappingsToTrusted ((( AbstractJavaTypeMapper ) typeMapper ) .getIdClassMapping ());
332+ if (typeMapper instanceof org . springframework . kafka . support . mapping . AbstractJavaTypeMapper typeMapperToUse ) {
333+ addMappingsToTrusted (typeMapperToUse .getIdClassMapping ());
337334 }
338335 this .setterCalled = true ;
339336 }
@@ -350,8 +347,8 @@ public void setUseTypeMapperForKey(boolean isKey) {
350347
351348 private void doSetUseTypeMapperForKey (boolean isKey ) {
352349 if (!this .typeMapperExplicitlySet
353- && this .getTypeMapper () instanceof AbstractJavaTypeMapper ) {
354- (( AbstractJavaTypeMapper ) this . getTypeMapper ()) .setUseForKey (isKey );
350+ && this .getTypeMapper () instanceof org . springframework . kafka . support . mapping . AbstractJavaTypeMapper typeMapperToUse ) {
351+ typeMapperToUse .setUseForKey (isKey );
355352 }
356353 }
357354
@@ -422,8 +419,8 @@ public void configure(Map<String, ?> configs, boolean isKey) {
422419 StringUtils .delimitedListToStringArray ((String ) configs .get (TRUSTED_PACKAGES ), "," , " \r \n \f \t " ));
423420 }
424421 if (configs .containsKey (TYPE_MAPPINGS ) && !this .typeMapperExplicitlySet
425- && this .typeMapper instanceof AbstractJavaTypeMapper ) {
426- (( AbstractJavaTypeMapper ) this . typeMapper ) .setIdClassMapping (createMappings (configs ));
422+ && this .typeMapper instanceof org . springframework . kafka . support . mapping . AbstractJavaTypeMapper typeMapperToUse ) {
423+ typeMapperToUse .setIdClassMapping (createMappings (configs ));
427424 }
428425 if (configs .containsKey (REMOVE_TYPE_INFO_HEADERS )) {
429426 this .removeTypeHeaders = Boolean .parseBoolean (configs .get (REMOVE_TYPE_INFO_HEADERS ).toString ());
@@ -469,8 +466,8 @@ private void setUpTypeResolver(String method) {
469466 catch (IllegalStateException e ) {
470467 if (e .getCause () instanceof NoSuchMethodException ) {
471468 this .typeResolver = (topic , data , headers ) ->
472- (JavaType ) SerializationUtils .propertyToMethodInvokingFunction (
473- method , byte [].class , getClass ().getClassLoader ()).apply (data , headers );
469+ (JavaType ) SerializationUtils .propertyToMethodInvokingFunction (
470+ method , byte [].class , getClass ().getClassLoader ()).apply (data , headers );
474471 return ;
475472 }
476473 throw e ;
@@ -482,7 +479,10 @@ private void setUpTypePrecedence(Map<String, ?> configs) {
482479 if (configs .containsKey (USE_TYPE_INFO_HEADERS )) {
483480 this .useTypeHeaders = Boolean .parseBoolean (configs .get (USE_TYPE_INFO_HEADERS ).toString ());
484481 }
485- this .typeMapper .setTypePrecedence (this .useTypeHeaders ? TypePrecedence .TYPE_ID : TypePrecedence .INFERRED );
482+ this .typeMapper .setTypePrecedence (
483+ this .useTypeHeaders
484+ ? org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence .TYPE_ID
485+ : org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence .INFERRED );
486486 }
487487 }
488488
@@ -497,7 +497,9 @@ else if (!isKey && configs.containsKey(VALUE_DEFAULT_TYPE)) {
497497 }
498498
499499 if (javaType != null ) {
500- initialize (javaType , TypePrecedence .TYPE_ID .equals (this .typeMapper .getTypePrecedence ()));
500+ initialize (javaType ,
501+ org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence .TYPE_ID
502+ .equals (this .typeMapper .getTypePrecedence ()));
501503 }
502504 }
503505 catch (ClassNotFoundException | LinkageError e ) {
@@ -516,7 +518,10 @@ private void initialize(@Nullable JavaType type, boolean useHeadersIfPresent) {
516518 }
517519
518520 addTargetPackageToTrusted ();
519- this .typeMapper .setTypePrecedence (useHeadersIfPresent ? TypePrecedence .TYPE_ID : TypePrecedence .INFERRED );
521+ this .typeMapper .setTypePrecedence (
522+ useHeadersIfPresent
523+ ? org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence .TYPE_ID
524+ : org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence .INFERRED );
520525 }
521526
522527 private JavaType setupTargetType (Map <String , ?> configs , String key ) throws ClassNotFoundException , LinkageError {
@@ -525,7 +530,7 @@ private JavaType setupTargetType(Map<String, ?> configs, String key) throws Clas
525530 }
526531 else if (configs .get (key ) instanceof String ) {
527532 return TypeFactory .defaultInstance ()
528- .constructType (ClassUtils .forName ((String ) configs .get (key ), null ));
533+ .constructType (ClassUtils .forName ((String ) configs .get (key ), null ));
529534 }
530535 else {
531536 throw new IllegalStateException (key + " must be Class or String" );
@@ -587,7 +592,9 @@ private void doAddTrustedPackages(String... packages) {
587592 if (this .typeResolver != null ) {
588593 javaType = this .typeResolver .resolveType (topic , data , headers );
589594 }
590- if (javaType == null && this .typeMapper .getTypePrecedence ().equals (TypePrecedence .TYPE_ID )) {
595+ if (javaType == null && this .typeMapper .getTypePrecedence ()
596+ .equals (org .springframework .kafka .support .mapping .Jackson2JavaTypeMapper .TypePrecedence .TYPE_ID )) {
597+
591598 javaType = this .typeMapper .toJavaType (headers );
592599 }
593600 if (javaType != null ) {
@@ -708,13 +715,13 @@ public JsonDeserializer<T> ignoreTypeHeaders() {
708715 }
709716
710717 /**
711- * Use the supplied {@link Jackson2JavaTypeMapper}.
718+ * Use the supplied {@link org.springframework.kafka.support.mapping. Jackson2JavaTypeMapper}.
712719 * @param mapper the mapper.
713720 * @return the deserializer.
714721 * @since 2.3
715- * @see #setTypeMapper(Jackson2JavaTypeMapper)
722+ * @see #setTypeMapper(org.springframework.kafka.support.mapping. Jackson2JavaTypeMapper)
716723 */
717- public JsonDeserializer <T > typeMapper (Jackson2JavaTypeMapper mapper ) {
724+ public JsonDeserializer <T > typeMapper (org . springframework . kafka . support . mapping . Jackson2JavaTypeMapper mapper ) {
718725 setTypeMapper (mapper );
719726 return this ;
720727 }
@@ -723,7 +730,7 @@ public JsonDeserializer<T> typeMapper(Jackson2JavaTypeMapper mapper) {
723730 * Add trusted packages to the default type mapper.
724731 * @param packages the packages.
725732 * @return the deserializer.
726- * @since 2,5
733+ * @since 2, 5
727734 */
728735 public JsonDeserializer <T > trustedPackages (String ... packages ) {
729736 try {
0 commit comments