Class SerializerFactory
java.lang.Object
org.codehaus.jackson.map.SerializerFactory
- Direct Known Subclasses:
BasicSerializerFactory
Abstract class that defines API used by
SerializerProvider
to obtain actual
JsonSerializer instances from multiple distinct factories.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classConfiguration settings container class for bean serializer factory. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract JsonSerializer<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<Object> createSerializer(SerializationConfig config, JavaType baseType, BeanProperty property) Method called to create (or, for immutable serializers, reuse) a serializer for given type.final JsonSerializer<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.final TypeSerializercreateTypeSerializer(JavaType baseType, SerializationConfig config) Deprecated.Since 1.7, call variant with more argumentsabstract SerializerFactory.Configfinal SerializerFactorywithAdditionalKeySerializers(Serializers additional) final 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.final SerializerFactorywithSerializerModifier(BeanSerializerModifier modifier) Convenience method for creating a new factory instance with additional bean serializer modifier; equivalent to calling
-
Constructor Details
-
SerializerFactory
public SerializerFactory()
-
-
Method Details
-
getConfig
- Since:
- 1.7
-
withConfig
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
Convenience method for creating a new factory instance with additional serializer provider; equivalent to callingwithConfig(getConfig().withAdditionalSerializers(additional));
- Since:
- 1.7
-
withAdditionalKeySerializers
- Since:
- 1.8
-
withSerializerModifier
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<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<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<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
-