java.lang.Object
tools.jackson.databind.ser.SerializerFactory
- Direct Known Subclasses:
BasicSerializerFactory
Abstract class that defines API used by
SerializationContext
to obtain actual
ValueSerializer
instances from multiple distinct factories.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract ValueSerializer<Object>
createKeySerializer
(SerializationContext ctxt, JavaType type) Method called to create serializer to use for serializing JSON property names (which must be output asJsonToken.FIELD_NAME
) for Map that has specified declared key type, and is for specified property (or, if property is null, as root value)createSerializer
(SerializationContext ctxt, JavaType baseType) Deprecated.abstract ValueSerializer<Object>
createSerializer
(SerializationContext ctxt, JavaType baseType, BeanDescription beanDesc, JsonFormat.Value formatOverride) Method called to create (or, for immutable serializers, reuse) a serializer for given type.abstract ValueSerializer<Object>
Returns serializer used to (try to) output a null key, due to an entry ofMap
having null key.abstract ValueSerializer<Object>
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.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.abstract SerializerFactory
withNullKeySerializer
(ValueSerializer<?> nks) abstract SerializerFactory
abstract SerializerFactory
Mutant factory method for creating a new factory instance with additional serializer modifier: modifier will get inserted as the first one to be checked.
-
Constructor Details
-
SerializerFactory
public SerializerFactory()
-
-
Method Details
-
createSerializer
public abstract ValueSerializer<Object> createSerializer(SerializationContext ctxt, JavaType baseType, BeanDescription beanDesc, JsonFormat.Value formatOverride) Method called to create (or, for immutable serializers, reuse) a serializer for given type.- Parameters:
ctxt
- (not null) Context that needs to be used to resolve annotation-provided serializers (but NOT for others)formatOverride
- (nullable) Possible format overrides (from property annotations) to use, above and beyond what `beanDesc` defines- Since:
- 3.0 (last argument added)
-
createKeySerializer
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 asJsonToken.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
- Declared type for Map keys- Returns:
- Serializer to use, if factory knows it; null if not (in which case default serializer is to be used)
-
getDefaultNullKeySerializer
Returns serializer used to (try to) output a null key, due to an entry ofMap
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. -
getDefaultNullValueSerializer
-
withAdditionalSerializers
Mutant factory method for creating a new factory instance with additional serializer provider: provider will get inserted as the first one to be checked. -
withAdditionalKeySerializers
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. -
withSerializerModifier
Mutant factory method for creating a new factory instance with additional serializer modifier: modifier will get inserted as the first one to be checked. -
withNullValueSerializer
- Since:
- 3.0
-
withNullKeySerializer
- Since:
- 3.0
-
createSerializer
@Deprecated public ValueSerializer<Object> createSerializer(SerializationContext ctxt, JavaType baseType) Deprecated.Since 3.0 use variant that takesJsonFormat.Value
argument
-
JsonFormat.Value
argument