Class SimpleSerializers
java.lang.Object
org.codehaus.jackson.map.Serializers.Base
org.codehaus.jackson.map.module.SimpleSerializers
- All Implemented Interfaces:
Serializers
Simple implementation
Serializers which allows registration of
serializers based on raw (type erased class).
It can work well for basic bean and scalar type serializers, but is not
a good fit for handling generic types (like Maps and Collections).
Type registrations are assumed to be general; meaning that registration of serializer
for a super type will also be used for handling subtypes, unless an exact match
is found first. As an example, handler for CharSequence would also be used
serializing StringBuilder instances, unless a direct mapping was found.
- Since:
- 1.7
-
Nested Class Summary
Nested classes/interfaces inherited from interface Serializers
Serializers.Base, Serializers.None -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected HashMap<ClassKey, JsonSerializer<?>> Class-based mappings that are used both for exact and sub-class matches.protected HashMap<ClassKey, JsonSerializer<?>> Interface-based matches. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected JsonSerializer<?> _findInterfaceMapping(Class<?> cls, ClassKey key) <T> voidaddSerializer(Class<? extends T> type, JsonSerializer<T> ser) voidaddSerializer(JsonSerializer<?> ser) Method for adding given serializer for type thatJsonSerializer.handledType()specifies (which MUST return a non-null class; and can NOT beObject, as a sanity check).findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) Method called by serialization framework first time a serializer is needed for specified array type.findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, BeanProperty property) Method called by serialization framework first time a serializer is needed for specified type, which is not of a container type (for which other methods are called).
-
Field Details
-
_classMappings
Class-based mappings that are used both for exact and sub-class matches. -
_interfaceMappings
Interface-based matches.
-
-
Constructor Details
-
SimpleSerializers
public SimpleSerializers()
-
-
Method Details
-
addSerializer
Method for adding given serializer for type thatJsonSerializer.handledType()specifies (which MUST return a non-null class; and can NOT beObject, as a sanity check). For serializers that do not declare handled type, use the variant that takes two arguments.- Parameters:
ser-
-
addSerializer
-
findSerializer
public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, BeanProperty property) Description copied from interface:SerializersMethod called by serialization framework first time a serializer is needed for specified type, which is not of a container type (for which other methods are called).Note: in version 1.7, this method was called to find serializers for all type, including container types.
- Specified by:
findSerializerin interfaceSerializers- Overrides:
findSerializerin classSerializers.Base- Parameters:
config- Serialization configuration in usetype- Fully resolved type of instances to serializebeanDesc- Additional information about type; will always be of typeBasicBeanDescription(that is, safe to cast to this more specific type)property- Property that contains values to serialize- Returns:
- Configured serializer to use for the type; or null if implementation does not recognize or support type
-
findArraySerializer
public JsonSerializer<?> findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) Description copied from interface:SerializersMethod called by serialization framework first time a serializer is needed for specified array type. Implementation should return a serializer instance if it supports specified type; or null if it does not.- Specified by:
findArraySerializerin interfaceSerializers- Overrides:
findArraySerializerin classSerializers.Base
-
findCollectionSerializer
public JsonSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) - Specified by:
findCollectionSerializerin interfaceSerializers- Overrides:
findCollectionSerializerin classSerializers.Base
-
findCollectionLikeSerializer
public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) - Specified by:
findCollectionLikeSerializerin interfaceSerializers- Overrides:
findCollectionLikeSerializerin classSerializers.Base
-
findMapSerializer
public JsonSerializer<?> findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) - Specified by:
findMapSerializerin interfaceSerializers- Overrides:
findMapSerializerin classSerializers.Base
-
findMapLikeSerializer
public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) - Specified by:
findMapLikeSerializerin interfaceSerializers- Overrides:
findMapLikeSerializerin classSerializers.Base
-
_findInterfaceMapping
-