1
1
/*
2
- * Copyright 2015-2021 the original author or authors.
2
+ * Copyright 2015-2022 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
29
29
import com .fasterxml .jackson .databind .ObjectMapper ;
30
30
import com .fasterxml .jackson .databind .ObjectMapper .DefaultTyping ;
31
31
import com .fasterxml .jackson .databind .SerializerProvider ;
32
- import com .fasterxml .jackson .databind .jsontype .impl . LaissezFaireSubTypeValidator ;
32
+ import com .fasterxml .jackson .databind .jsontype .PolymorphicTypeValidator ;
33
33
import com .fasterxml .jackson .databind .module .SimpleModule ;
34
34
import com .fasterxml .jackson .databind .ser .SerializerFactory ;
35
35
import com .fasterxml .jackson .databind .ser .std .StdSerializer ;
@@ -59,6 +59,8 @@ public GenericJackson2JsonRedisSerializer() {
59
59
* {@link JsonTypeInfo.Id#CLASS} will be used.
60
60
*
61
61
* @param classPropertyTypeName Name of the JSON property holding type information. Can be {@literal null}.
62
+ * @see ObjectMapper#activateDefaultTypingAsProperty(PolymorphicTypeValidator, DefaultTyping, String)
63
+ * @see ObjectMapper#activateDefaultTyping(PolymorphicTypeValidator, DefaultTyping, As)
62
64
*/
63
65
public GenericJackson2JsonRedisSerializer (@ Nullable String classPropertyTypeName ) {
64
66
@@ -69,9 +71,10 @@ public GenericJackson2JsonRedisSerializer(@Nullable String classPropertyTypeName
69
71
registerNullValueSerializer (mapper , classPropertyTypeName );
70
72
71
73
if (StringUtils .hasText (classPropertyTypeName )) {
72
- mapper .activateDefaultTypingAsProperty (LaissezFaireSubTypeValidator .instance , DefaultTyping .NON_FINAL , classPropertyTypeName );
74
+ mapper .activateDefaultTypingAsProperty (mapper .getPolymorphicTypeValidator (), DefaultTyping .NON_FINAL ,
75
+ classPropertyTypeName );
73
76
} else {
74
- mapper .activateDefaultTyping (LaissezFaireSubTypeValidator . instance , DefaultTyping .NON_FINAL , As .PROPERTY );
77
+ mapper .activateDefaultTyping (mapper . getPolymorphicTypeValidator () , DefaultTyping .NON_FINAL , As .PROPERTY );
75
78
}
76
79
}
77
80
0 commit comments