Top Description Fields Constructors Methods
tools.jackson.databind.module

public Class SimpleSerializers

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

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, ValueSerializer<?>>
_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, ValueSerializer<?>>
_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 ValueSerializer<?>
protected ValueSerializer<?>
public SimpleSerializers
addSerializer(ValueSerializer<?> ser)

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

public <T> SimpleSerializers
addSerializer(Class<? extends T> type, ValueSerializer<T> ser)

public SimpleSerializers
public ValueSerializer<?>
findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findArraySerializer.

Method called by serialization framework first time a serializer is needed for specified array type.

public ValueSerializer<?>
findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.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 ValueSerializer<?>
findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findCollectionSerializer.

Method called by serialization framework first time a serializer is needed for specified java.util.Collection type.

public ValueSerializer<?>
findEnumSerializer(SerializationConfig config, JavaType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides)

Overrides default tools.jackson.databind.ser.Serializers.findEnumSerializer.

Method called by serialization framework first time a serializer is needed for given java.lang.Enum type.

public ValueSerializer<?>
findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, ValueSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.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 ValueSerializer<?>
findMapSerializer(SerializationConfig config, MapType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, ValueSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findMapSerializer.

Method called by serialization framework first time a serializer is needed for specified java.util.Map type.

public ValueSerializer<?>
findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer contentTypeSerializer, ValueSerializer<Object> contentValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findReferenceSerializer.

Method called by serialization framework first time a serializer is needed for given ReferenceType

public ValueSerializer<?>
findSerializer(SerializationConfig config, JavaType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides)

Overrides default tools.jackson.databind.ser.Serializers.findSerializer.

Fallback ethod called by serialization framework first time a serializer is needed for given type, which is not of any more specific type (like enum, tree node, reference or container type) for which other methods are called).

public ValueSerializer<?>
findTreeNodeSerializer(SerializationConfig config, JavaType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides)

Overrides default tools.jackson.databind.ser.Serializers.findTreeNodeSerializer.

Method called by serialization framework first time a serializer is needed for given TreeNode (usually JsonNode) type.

Inherited from tools.jackson.databind.ser.Serializers.Base:
calculateEffectiveFormat

Field Detail

_classMappingsback to summary
protected HashMap<ClassKey, ValueSerializer<?>> _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.

_interfaceMappingsback to summary
protected HashMap<ClassKey, ValueSerializer<?>> _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<ValueSerializer<?>> sers)

Method Detail

_addSerializerback to summary
protected void _addSerializer(Class<?> cls, ValueSerializer<?> ser)
_findInterfaceMappingback to summary
protected ValueSerializer<?> _findInterfaceMapping(Class<?> cls, ClassKey key)
_findSerializerback to summary
protected ValueSerializer<?> _findSerializer(SerializationConfig config, JavaType type)
addSerializerback to summary
public SimpleSerializers addSerializer(ValueSerializer<?> ser)

Method for adding given serializer for type that ValueSerializer#handledType specifies (which MUST return a non-null class; and CANNOT 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> SimpleSerializers addSerializer(Class<? extends T> type, ValueSerializer<T> ser)
addSerializersback to summary
public SimpleSerializers addSerializers(List<ValueSerializer<?>> sers)
findArraySerializerback to summary
public ValueSerializer<?> findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findArraySerializer.

Doc from tools.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 ValueSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findCollectionLikeSerializer.

Doc from tools.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 ValueSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findCollectionSerializer.

Doc from tools.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
findEnumSerializerback to summary
public ValueSerializer<?> findEnumSerializer(SerializationConfig config, JavaType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides)

Overrides default tools.jackson.databind.ser.Serializers.findEnumSerializer.

Doc from tools.jackson.databind.ser.Serializers.findEnumSerializer.

Method called by serialization framework first time a serializer is needed for given java.lang.Enum type.

Annotations
@Override
findMapLikeSerializerback to summary
public ValueSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, ValueSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findMapLikeSerializer.

Doc from tools.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 ValueSerializer<?> findMapSerializer(SerializationConfig config, MapType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, ValueSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, ValueSerializer<Object> elementValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findMapSerializer.

Doc from tools.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
findReferenceSerializerback to summary
public ValueSerializer<?> findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides, TypeSerializer contentTypeSerializer, ValueSerializer<Object> contentValueSerializer)

Overrides default tools.jackson.databind.ser.Serializers.findReferenceSerializer.

Doc from tools.jackson.databind.ser.Serializers.findReferenceSerializer.

Method called by serialization framework first time a serializer is needed for given ReferenceType

Annotations
@Override
findSerializerback to summary
public ValueSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides)

Overrides default tools.jackson.databind.ser.Serializers.findSerializer.

Doc from tools.jackson.databind.ser.Serializers.findSerializer.

Fallback ethod called by serialization framework first time a serializer is needed for given type, which is not of any more specific type (like enum, tree node, reference or container type) for which other methods are called).

Basically called for types for which none of other callbacks are called.

Annotations
@Override
findTreeNodeSerializerback to summary
public ValueSerializer<?> findTreeNodeSerializer(SerializationConfig config, JavaType type, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverrides)

Overrides default tools.jackson.databind.ser.Serializers.findTreeNodeSerializer.

Doc from tools.jackson.databind.ser.Serializers.findTreeNodeSerializer.

Method called by serialization framework first time a serializer is needed for given TreeNode (usually JsonNode) type.

Annotations
@Override