## com.fasterxml.jackson.databind.ser
Class SerializerFactory

    java.lang.Object
      com.fasterxml.jackson.databind.ser.SerializerFactory

Direct Known Subclasses:
  BasicSerializerFactory

    public abstract class SerializerFactory

extends Object

Abstract class that defines API used by `SerializerProvider` to obtain actual `JsonSerializer` instances from multiple distinct factories.

Constructor Summary
`SerializerFactory()`

Method Summary
`abstract JsonSerializer<Object>` `createKeySerializer(SerializationConfig config, JavaType baseType)` 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)
`abstract JsonSerializer<Object>` `createSerializer(SerializerProvider prov, JavaType baseType, BeanProperty property)` Method called to create (or, for immutable serializers, reuse) a serializer for given type.
`abstract TypeSerializer` `createTypeSerializer(SerializationConfig config, JavaType baseType)` Method called to create a type information serializer for given base type, if one is needed.
`abstract SerializerFactory` `withAdditionalKeySerializers(Serializers additional)`
`abstract SerializerFactory` `withAdditionalSerializers(Serializers additional)` Convenience method for creating a new factory instance with additional serializer provider; equivalent to calling
`abstract SerializerFactory` `withSerializerModifier(BeanSerializerModifier modifier)` Convenience method for creating a new factory instance with additional bean serializer modifier; equivalent to calling

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SerializerFactory

    public SerializerFactory()

Method Detail

### withAdditionalSerializers

    public abstract SerializerFactory withAdditionalSerializers(Serializers additional)

  Convenience method for creating a new factory instance with additional serializer provider; equivalent to calling

         withConfig(getConfig().withAdditionalSerializers(additional));

### withAdditionalKeySerializers

    public abstract SerializerFactory withAdditionalKeySerializers(Serializers additional)

### withSerializerModifier

    public abstract SerializerFactory withSerializerModifier(BeanSerializerModifier modifier)

  Convenience method for creating a new factory instance with additional bean serializer modifier; equivalent to calling

         withConfig(getConfig().withSerializerModifier(modifier));

### createSerializer

    public abstract JsonSerializer<Object> createSerializer(SerializerProvider prov,
                                                            JavaType baseType,
                                                            BeanProperty property)
                                                     throws JsonMappingException

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

  Parameters:
    `prov` - Provider that needs to be used to resolve annotation-provided serializers (but NOT for others)
  Throws:
    `JsonMappingException`

### createTypeSerializer

    public abstract TypeSerializer createTypeSerializer(SerializationConfig config,
                                                        JavaType baseType)
                                                 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`

### createKeySerializer

    public abstract JsonSerializer<Object> createKeySerializer(SerializationConfig config,
                                                               JavaType baseType)
                                                        throws JsonMappingException

  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:
    `baseType` - 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)
  Throws:
    `JsonMappingException`

Copyright © 2012 fasterxml.com. All Rights Reserved.