Class GenericJackson2JsonRedisSerializer
java.lang.Object
org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer
- All Implemented Interfaces:
RedisSerializer<Object>
Generic Jackson 2-based
RedisSerializer that maps objects to JSON using dynamic typing.- Since:
- 1.6
- Author:
- Christoph Strobl, Mark Paluch, Mao Shuai
-
Constructor Summary
ConstructorsConstructorDescriptionCreatesGenericJackson2JsonRedisSerializerand configuresObjectMapperfor default typing.GenericJackson2JsonRedisSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper) Setting a custom-configuredObjectMapperis one way to take further control of the JSON serialization process.GenericJackson2JsonRedisSerializer(String classPropertyTypeName) CreatesGenericJackson2JsonRedisSerializerand configuresObjectMapperfor default typing using the given name. -
Method Summary
Modifier and TypeMethodDescriptiondeserialize(byte[] source) Deserialize an object from the given binary data.<T> Tdeserialize(byte[] source, Class<T> type) static voidregisterNullValueSerializer(com.fasterxml.jackson.databind.ObjectMapper objectMapper, String classPropertyTypeName) RegisterGenericJackson2JsonRedisSerializer.NullValueSerializerin the givenObjectMapperwith an optionalclassPropertyTypeName.byte[]Serialize the given object to binary data.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.data.redis.serializer.RedisSerializer
canSerialize, getTargetType
-
Constructor Details
-
GenericJackson2JsonRedisSerializer
public GenericJackson2JsonRedisSerializer()CreatesGenericJackson2JsonRedisSerializerand configuresObjectMapperfor default typing. -
GenericJackson2JsonRedisSerializer
CreatesGenericJackson2JsonRedisSerializerand configuresObjectMapperfor default typing using the given name. In case of an empty or null String the defaultJsonTypeInfo.Id.CLASSwill be used.- Parameters:
classPropertyTypeName- Name of the JSON property holding type information. Can be null.- See Also:
-
ObjectMapper.activateDefaultTypingAsProperty(PolymorphicTypeValidator, DefaultTyping, String)ObjectMapper.activateDefaultTyping(PolymorphicTypeValidator, DefaultTyping, As)
-
GenericJackson2JsonRedisSerializer
public GenericJackson2JsonRedisSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper) Setting a custom-configuredObjectMapperis one way to take further control of the JSON serialization process. For example, an extendedSerializerFactorycan be configured that provides custom serializers for specific types.- Parameters:
mapper- must not be null.
-
-
Method Details
-
registerNullValueSerializer
public static void registerNullValueSerializer(com.fasterxml.jackson.databind.ObjectMapper objectMapper, @Nullable String classPropertyTypeName) RegisterGenericJackson2JsonRedisSerializer.NullValueSerializerin the givenObjectMapperwith an optionalclassPropertyTypeName. This method should be called by code that customizesGenericJackson2JsonRedisSerializerby providing an externalObjectMapper.- Parameters:
objectMapper- the object mapper to customize.classPropertyTypeName- name of the type property. Defaults to@classif null/empty.- Since:
- 2.2
-
serialize
Description copied from interface:RedisSerializerSerialize the given object to binary data.- Specified by:
serializein interfaceRedisSerializer<Object>- Parameters:
source- object to serialize. Can be null.- Returns:
- the equivalent binary data. Can be null.
- Throws:
SerializationException
-
deserialize
Description copied from interface:RedisSerializerDeserialize an object from the given binary data.- Specified by:
deserializein interfaceRedisSerializer<Object>- Parameters:
source- object binary representation. Can be null.- Returns:
- the equivalent object instance. Can be null.
- Throws:
SerializationException
-
deserialize
@Nullable public <T> T deserialize(@Nullable byte[] source, Class<T> type) throws SerializationException - Parameters:
source- can be null.type- must not be null.- Returns:
- null for empty source.
- Throws:
SerializationException
-