Package org.codehaus.jackson.map
Class SerializerFactory
- java.lang.Object
-
- org.codehaus.jackson.map.SerializerFactory
-
- Direct Known Subclasses:
BasicSerializerFactory
public abstract class SerializerFactory extends java.lang.ObjectAbstract class that defines API used bySerializerProviderto obtain actualJsonSerializerinstances from multiple distinct factories.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSerializerFactory.ConfigConfiguration settings container class for bean serializer factory.
-
Constructor Summary
Constructors Constructor Description SerializerFactory()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract JsonSerializer<java.lang.Object>createKeySerializer(SerializationConfig config, JavaType baseType, BeanProperty property)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)abstract JsonSerializer<java.lang.Object>createSerializer(SerializationConfig config, JavaType baseType, BeanProperty property)Method called to create (or, for immutable serializers, reuse) a serializer for given type.JsonSerializer<java.lang.Object>createSerializer(JavaType type, SerializationConfig config)Deprecated.Since 1.7, call variant with more argumentsabstract TypeSerializercreateTypeSerializer(SerializationConfig config, JavaType baseType, BeanProperty property)Method called to create a type information serializer for given base type, if one is needed.TypeSerializercreateTypeSerializer(JavaType baseType, SerializationConfig config)Deprecated.Since 1.7, call variant with more argumentsabstract SerializerFactory.ConfiggetConfig()SerializerFactorywithAdditionalKeySerializers(Serializers additional)SerializerFactorywithAdditionalSerializers(Serializers additional)Convenience method for creating a new factory instance with additional serializer provider; equivalent to callingabstract SerializerFactorywithConfig(SerializerFactory.Config config)Method used for creating a new instance of this factory, but with different configuration.SerializerFactorywithSerializerModifier(BeanSerializerModifier modifier)Convenience method for creating a new factory instance with additional bean serializer modifier; equivalent to calling
-
-
-
Method Detail
-
getConfig
public abstract SerializerFactory.Config getConfig()
- Since:
- 1.7
-
withConfig
public abstract SerializerFactory withConfig(SerializerFactory.Config config)
Method used for creating a new instance of this factory, but with different configuration. Reason for specifying factory method (instead of plain constructor) is to allow proper sub-classing of factories.Note that custom sub-classes generally must override implementation of this method, as it usually requires instantiating a new instance of factory type. Check out javadocs for
BeanSerializerFactoryfor more details.- Since:
- 1.7
-
withAdditionalSerializers
public final SerializerFactory withAdditionalSerializers(Serializers additional)
Convenience method for creating a new factory instance with additional serializer provider; equivalent to callingwithConfig(getConfig().withAdditionalSerializers(additional));
- Since:
- 1.7
-
withAdditionalKeySerializers
public final SerializerFactory withAdditionalKeySerializers(Serializers additional)
- Since:
- 1.8
-
withSerializerModifier
public final SerializerFactory withSerializerModifier(BeanSerializerModifier modifier)
Convenience method for creating a new factory instance with additional bean serializer modifier; equivalent to callingwithConfig(getConfig().withSerializerModifier(modifier));
- Since:
- 1.7
-
createSerializer
public abstract JsonSerializer<java.lang.Object> createSerializer(SerializationConfig config, JavaType baseType, BeanProperty property) throws JsonMappingException
Method called to create (or, for immutable serializers, reuse) a serializer for given type.- Throws:
JsonMappingException
-
createTypeSerializer
public abstract TypeSerializer createTypeSerializer(SerializationConfig config, JavaType baseType, BeanProperty property) throws JsonMappingException
Method called to create a type information serializer for given base type, if one is needed. If not needed (no polymorphic handling configured), should return null.- Parameters:
baseType- Declared type to use as the base type for type information serializer- Returns:
- Type serializer to use for the base type, if one is needed; null if not.
- Throws:
JsonMappingException- Since:
- 1.7
-
createKeySerializer
public abstract JsonSerializer<java.lang.Object> createKeySerializer(SerializationConfig config, JavaType baseType, BeanProperty property) throws JsonMappingException
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:
config- Serialization configuration in usebaseType- Declared type for Map keysproperty- Property that contains Map being serialized; null when serializing root Map value.- Returns:
- Serializer to use, if factory knows it; null if not (in which case default serializer is to be used)
- Throws:
JsonMappingException- Since:
- 1.8
-
createSerializer
@Deprecated public final JsonSerializer<java.lang.Object> createSerializer(JavaType type, SerializationConfig config)
Deprecated.Since 1.7, call variant with more argumentsDeprecated version of accessor for type id serializer: as of 1.7 one needs to instead call version that passes property information through.- Since:
- 1.5
-
createTypeSerializer
@Deprecated public final TypeSerializer createTypeSerializer(JavaType baseType, SerializationConfig config)
Deprecated.Since 1.7, call variant with more argumentsDeprecated version of accessor for type id serializer: as of 1.7 one needs to instead call version that passes property information through.- Since:
- 1.5
-
-