Top Description Fields Constructors Methods
com.fasterxml.jackson.databind.module

public Class SimpleSerializers

extends Base
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.util.*, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.jsontype.TypeSerializer, com.fasterxml.jackson.databind.ser.Serializers, com.fasterxml.jackson.databind.type.ArrayType, .ClassKey, .CollectionLikeType, .CollectionType, .MapLikeType, .MapType

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.

Field Summary

Modifier and TypeField and Description
protected HashMap<ClassKey, JsonSerializer<?>>
_classMappings

Class-based mappings that are used both for exact and sub-class matches.

protected boolean
_hasEnumSerializer

Flag to help find "generic" enum serializer, if one has been registered.

protected HashMap<ClassKey, JsonSerializer<?>>
_interfaceMappings

Interface-based matches.

private static final long

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
protected void
protected JsonSerializer<?>
public void
addSerializer(JsonSerializer<?> ser)

Method for adding given serializer for type that JsonSerializer#handledType specifies (which MUST return a non-null class; and can NOT be Object, as a sanity check).

public <T> void
addSerializer(Class<? extends T> type, JsonSerializer<T> ser)

public void
public JsonSerializer<?>
findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findArraySerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findArraySerializer.

Method called by serialization framework first time a serializer is needed for specified array type.
public JsonSerializer<?>
findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findCollectionLikeSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findCollectionLikeSerializer.

Method called by serialization framework first time a serializer is needed for specified "Collection-like" type (type that acts like java.util.Collection, but does not implement it).
public JsonSerializer<?>
findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findCollectionSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findCollectionSerializer.

Method called by serialization framework first time a serializer is needed for specified java.util.Collection type.
public JsonSerializer<?>
findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findMapLikeSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findMapLikeSerializer.

Method called by serialization framework first time a serializer is needed for specified "Map-like" type (type that acts like java.util.Map, but does not implement it).
public JsonSerializer<?>
findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findMapSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findMapSerializer.

Method called by serialization framework first time a serializer is needed for specified java.util.Map type.
public JsonSerializer<?>
findSerializer(SerializationConfig
Serialization configuration in use
config
,
JavaType
Fully resolved type of instances to serialize
type
,
BeanDescription
Additional information about type
beanDesc
)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findSerializer.

Method called by serialization framework first time a serializer is needed for specified type, which is not of a container or reference type (for which other methods are called).
Inherited from com.fasterxml.jackson.databind.ser.Serializers.Base:
findReferenceSerializer

Field Detail

_classMappingsback to summary
protected HashMap<ClassKey, JsonSerializer<?>> _classMappings

Class-based mappings that are used both for exact and sub-class matches.

_hasEnumSerializerback to summary
protected boolean _hasEnumSerializer

Flag to help find "generic" enum serializer, if one has been registered.

Since
2.3
_interfaceMappingsback to summary
protected HashMap<ClassKey, JsonSerializer<?>> _interfaceMappings

Interface-based matches.

serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

SimpleSerializersback to summary
public SimpleSerializers()
SimpleSerializersback to summary
public SimpleSerializers(List<JsonSerializer<?>> sers)
Since
2.1

Method Detail

_addSerializerback to summary
protected void _addSerializer(Class<?> cls, JsonSerializer<?> ser)
_findInterfaceMappingback to summary
protected JsonSerializer<?> _findInterfaceMapping(Class<?> cls, ClassKey key)
addSerializerback to summary
public void addSerializer(JsonSerializer<?> ser)

Method for adding given serializer for type that JsonSerializer#handledType specifies (which MUST return a non-null class; and can NOT be Object, as a sanity check). For serializers that do not declare handled type, use the variant that takes two arguments.

addSerializerback to summary
public <T> void addSerializer(Class<? extends T> type, JsonSerializer<T> ser)
addSerializersback to summary
public void addSerializers(List<JsonSerializer<?>> sers)
Since
2.1
findArraySerializerback to summary
public JsonSerializer<?> findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findArraySerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findArraySerializer.

Doc from com.fasterxml.jackson.databind.ser.Serializers.findArraySerializer.

Method 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.

Annotations
@Override
findCollectionLikeSerializerback to summary
public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findCollectionLikeSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findCollectionLikeSerializer.

Doc from com.fasterxml.jackson.databind.ser.Serializers.findCollectionLikeSerializer.

Method called by serialization framework first time a serializer is needed for specified "Collection-like" type (type that acts like java.util.Collection, but does not implement it). Implementation should return a serializer instance if it supports specified type; or null if it does not.

Annotations
@Override
findCollectionSerializerback to summary
public JsonSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findCollectionSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findCollectionSerializer.

Doc from com.fasterxml.jackson.databind.ser.Serializers.findCollectionSerializer.

Method called by serialization framework first time a serializer is needed for specified java.util.Collection type. Implementation should return a serializer instance if it supports specified type; or null if it does not.

Annotations
@Override
findMapLikeSerializerback to summary
public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findMapLikeSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findMapLikeSerializer.

Doc from com.fasterxml.jackson.databind.ser.Serializers.findMapLikeSerializer.

Method called by serialization framework first time a serializer is needed for specified "Map-like" type (type that acts like java.util.Map, but does not implement it). Implementation should return a serializer instance if it supports specified type; or null if it does not.

Annotations
@Override
findMapSerializerback to summary
public JsonSerializer<?> findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findMapSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findMapSerializer.

Doc from com.fasterxml.jackson.databind.ser.Serializers.findMapSerializer.

Method called by serialization framework first time a serializer is needed for specified java.util.Map type. Implementation should return a serializer instance if it supports specified type; or null if it does not.

Annotations
@Override
findSerializerback to summary
public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc)

Overrides com.fasterxml.jackson.databind.ser.Serializers.Base.findSerializer.

Implements com.fasterxml.jackson.databind.ser.Serializers.findSerializer.

Doc from com.fasterxml.jackson.databind.ser.Serializers.findSerializer.

Method called by serialization framework first time a serializer is needed for specified type, which is not of a container or reference type (for which other methods are called).

Parameters
config:SerializationConfig

Serialization configuration in use

type:JavaType

Fully resolved type of instances to serialize

beanDesc:BeanDescription

Additional information about type

Returns:JsonSerializer<?>

Configured serializer to use for the type; or null if implementation does not recognize or support type

Annotations
@Override