Top Description Constructors Methods
tools.jackson.databind.ser

public abstract Class SerializerFactory

extends Object
Class Inheritance
Known Direct Subclasses
tools.jackson.databind.ser.BasicSerializerFactory
Imports
com.fasterxml.jackson.annotation.JsonFormat, tools.jackson.databind.*

Abstract class that defines API used by SerializationContext to obtain actual ValueSerializer instances from multiple distinct factories.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public abstract ValueSerializer<Object>

Returns:

Serializer to use, if factory knows it; null if not (in which case default serializer is to be used)
createKeySerializer
(SerializationContext ctxt, JavaType
Declared type for Map keys
type
)

Method called to create serializer to use for serializing JSON property names (which must be output as JsonToken.FIELD_NAME) for Map that has specified declared key type, and is for specified property (or, if property is null, as root value)

public abstract ValueSerializer<Object>
createSerializer(SerializationContext
(not null) Context that needs to be used to resolve annotation-provided serializers (but NOT for others)
ctxt
,
JavaType baseType, BeanDescription.Supplier beanDescRef, JsonFormat.Value
(nullable) Possible format overrides (from property annotations) to use, above and beyond what `beanDesc` defines
formatOverride
)

Method called to create (or, for immutable serializers, reuse) a serializer for given type.

public ValueSerializer<Object>
createSerializer(SerializationContext ctxt, JavaType baseType)
Deprecated Since 3.0 use variant that takes JsonFormat.Value argument

public abstract ValueSerializer<Object>
getDefaultNullKeySerializer()

Returns serializer used to (try to) output a null key, due to an entry of java.util.Map having null key.

public abstract ValueSerializer<Object>
public abstract SerializerFactory
withAdditionalKeySerializers(Serializers additional)

Mutant factory method for creating a new factory instance with additional key serializer provider: provider will get inserted as the first one to be checked.

public abstract SerializerFactory
withAdditionalSerializers(Serializers additional)

Mutant factory method for creating a new factory instance with additional serializer provider: provider will get inserted as the first one to be checked.

public abstract SerializerFactory
public abstract SerializerFactory
public abstract SerializerFactory
withSerializerModifier(ValueSerializerModifier modifier)

Mutant factory method for creating a new factory instance with additional serializer modifier: modifier will get inserted as the first one to be checked.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

SerializerFactoryback to summary
public SerializerFactory()

Method Detail

createKeySerializerback to summary
public abstract ValueSerializer<Object> createKeySerializer(SerializationContext ctxt, JavaType type)

Method called to create serializer to use for serializing JSON property names (which must be output as JsonToken.FIELD_NAME) for Map that has specified declared key type, and is for specified property (or, if property is null, as root value)

Parameters
type:JavaType

Declared type for Map keys

Returns:ValueSerializer<Object>

Serializer to use, if factory knows it; null if not (in which case default serializer is to be used)

createSerializerback to summary
public abstract ValueSerializer<Object> createSerializer(SerializationContext ctxt, JavaType baseType, BeanDescription.Supplier beanDescRef, JsonFormat.Value formatOverride)

Method called to create (or, for immutable serializers, reuse) a serializer for given type.

Parameters
ctxt:SerializationContext

(not null) Context that needs to be used to resolve annotation-provided serializers (but NOT for others)

formatOverride:JsonFormat.Value

(nullable) Possible format overrides (from property annotations) to use, above and beyond what `beanDesc` defines

Since
3.0 (last argument added)
createSerializerback to summary
public ValueSerializer<Object> createSerializer(SerializationContext ctxt, JavaType baseType)

Deprecated

Since 3.0 use variant that takes JsonFormat.Value argument

Annotations
@Deprecated
getDefaultNullKeySerializerback to summary
public abstract ValueSerializer<Object> getDefaultNullKeySerializer()

Returns serializer used to (try to) output a null key, due to an entry of java.util.Map having null key. The default implementation will throw an exception if this happens; alternative implementation (like one that would write an Empty String) can be defined.

getDefaultNullValueSerializerback to summary
public abstract ValueSerializer<Object> getDefaultNullValueSerializer()
withAdditionalKeySerializersback to summary
public abstract SerializerFactory withAdditionalKeySerializers(Serializers additional)

Mutant factory method for creating a new factory instance with additional key serializer provider: provider will get inserted as the first one to be checked.

withAdditionalSerializersback to summary
public abstract SerializerFactory withAdditionalSerializers(Serializers additional)

Mutant factory method for creating a new factory instance with additional serializer provider: provider will get inserted as the first one to be checked.

withNullKeySerializerback to summary
public abstract SerializerFactory withNullKeySerializer(ValueSerializer<?> nks)
Since
3.0
withNullValueSerializerback to summary
public abstract SerializerFactory withNullValueSerializer(ValueSerializer<?> nvs)
Since
3.0
withSerializerModifierback to summary
public abstract SerializerFactory withSerializerModifier(ValueSerializerModifier modifier)

Mutant factory method for creating a new factory instance with additional serializer modifier: modifier will get inserted as the first one to be checked.