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.Supplier beanDescRef, 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 ofMaphaving null key.abstract ValueSerializer<Object>abstract SerializerFactorywithAdditionalKeySerializers(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 SerializerFactorywithAdditionalSerializers(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 SerializerFactorywithNullKeySerializer(ValueSerializer<?> nks) abstract SerializerFactoryabstract SerializerFactoryMutant 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.Supplier beanDescRef, 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 ofMaphaving 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.Valueargument
-
JsonFormat.Valueargument