com.fasterxml.jackson.databind

## Class SerializationConfig

- java.lang.Object
- - com.fasterxml.jackson.databind.cfg.MapperConfig<T>
  - - com.fasterxml.jackson.databind.cfg.MapperConfigBase<SerializationFeature,SerializationConfig>
    - - com.fasterxml.jackson.databind.SerializationConfig

All Implemented Interfaces:
  ClassIntrospector.MixInResolver, Serializable

    public final class SerializationConfig
    extends MapperConfigBase<SerializationFeature,SerializationConfig>
    implements Serializable

Object that contains baseline configuration for serialization process. An instance is owned by `ObjectMapper`, which passes an immutable instance for serialization process to `SerializerProvider` and `SerializerFactory` (either directly, or through `ObjectWriter`.

Note that instances are considered immutable and as such no copies should need to be created for sharing; all copying is done with "fluent factory" methods.

See Also:
  Serialized Form

### Field Summary

Fields
`protected PrettyPrinter` `_defaultPrettyPrinter` If "default pretty-printing" is enabled, it will create the instance from this blueprint object.
`protected FilterProvider` `_filterProvider` Object used for resolving filter ids to filter instances.
`protected int` `_formatWriteFeatures` States of `FormatFeature`s to enable/disable.
`protected int` `_formatWriteFeaturesToChange` Bitflag of `FormatFeature`s to enable/disable
`protected int` `_generatorFeatures` States of `JsonGenerator.Feature`s to enable/disable.
`protected int` `_generatorFeaturesToChange` Bitflag of `JsonGenerator.Feature`s to enable/disable
`protected int` `_serFeatures` Set of `SerializationFeature`s enabled.
`protected static PrettyPrinter` `DEFAULT_PRETTY_PRINTER`

### Fields inherited from class com.fasterxml.jackson.databind.cfg.MapperConfigBase

`_attributes, _configOverrides, _mixIns, _rootName, _rootNames, _subtypeResolver, _view, EMPTY_OVERRIDE`

### Fields inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig

`_base, _mapperFeatures, EMPTY_FORMAT, EMPTY_INCLUDE`

### Constructor Summary

Constructors
`` `SerializationConfig(BaseSettings base, SubtypeResolver str, SimpleMixInResolver mixins, RootNameLookup rootNames, ConfigOverrides configOverrides)` Constructor used by ObjectMapper to create default configuration object instance.
`protected` `SerializationConfig(SerializationConfig src, ContextAttributes attrs)`
`protected` `SerializationConfig(SerializationConfig src, PrettyPrinter defaultPP)`
`protected` `SerializationConfig(SerializationConfig src, SimpleMixInResolver mixins)`
`protected` `SerializationConfig(SerializationConfig src, SimpleMixInResolver mixins, RootNameLookup rootNames, ConfigOverrides configOverrides)` Copy-constructor used for making a copy to be used by new `ObjectMapper`.

### Method Summary

Methods
`protected SerializationConfig` `_withBase(BaseSettings newBase)`
`protected SerializationConfig` `_withMapperFeatures(int mapperFeatures)`
`PrettyPrinter` `constructDefaultPrettyPrinter()`
`PrettyPrinter` `getDefaultPrettyPrinter()` Accessor for configured blueprint "default" `PrettyPrinter` to use, if default pretty-printing is enabled.
`FilterProvider` `getFilterProvider()` Method for getting provider used for locating filters given id (which is usually provided with filter annotations).
`int` `getSerializationFeatures()`
`JsonInclude.Include` `getSerializationInclusion()` Deprecated. Since 2.7 use `MapperConfigBase.getDefaultPropertyInclusion()` instead
`boolean` `hasSerializationFeatures(int featureMask)` "Bulk" access method for checking that all features specified by mask are enabled.
`void` `initialize(JsonGenerator g)` Method called by `ObjectMapper` and `ObjectWriter` to modify those `JsonGenerator.Feature` settings that have been configured via this config instance.
`<T extends BeanDescription> T` `introspect(JavaType type)` Method that will introspect full bean properties for the purpose of building a bean serializer
`boolean` `isEnabled(JsonGenerator.Feature f, JsonFactory factory)` Accessor method that first checks if we have any overrides for feature, and only if not, checks state of passed-in factory.
`boolean` `isEnabled(SerializationFeature f)`
`boolean` `useRootWrapping()` Accessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not.
`SerializationConfig` `with(ContextAttributes attrs)` Method for constructing an instance that has specified contextual attributes.
`SerializationConfig` `with(DateFormat df)` In addition to constructing instance with specified date format, will enable or disable `SerializationFeature.WRITE_DATES_AS_TIMESTAMPS` (enable if format set as null; disable if non-null)
`SerializationConfig` `with(FormatFeature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.
`SerializationConfig` `with(JsonGenerator.Feature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.
`SerializationConfig` `with(SerializationFeature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.
`SerializationConfig` `with(SerializationFeature first, SerializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`SerializationConfig` `with(SubtypeResolver str)` Method for constructing and returning a new instance with different `SubtypeResolver` to use.
`SerializationConfig` `withDefaultPrettyPrinter(PrettyPrinter pp)`
`SerializationConfig` `withFeatures(FormatFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`SerializationConfig` `withFeatures(JsonGenerator.Feature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`SerializationConfig` `withFeatures(SerializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`SerializationConfig` `withFilters(FilterProvider filterProvider)`
`SerializationConfig` `without(FormatFeature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.
`SerializationConfig` `without(JsonGenerator.Feature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.
`SerializationConfig` `without(SerializationFeature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.
`SerializationConfig` `without(SerializationFeature first, SerializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`SerializationConfig` `withoutFeatures(FormatFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`SerializationConfig` `withoutFeatures(JsonGenerator.Feature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`SerializationConfig` `withoutFeatures(SerializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`SerializationConfig` `withPropertyInclusion(JsonInclude.Value incl)` Deprecated. Since 2.9; not needed any more
`SerializationConfig` `withRootName(PropertyName rootName)` Method for constructing and returning a new instance with different root name to use (none, if null).
`SerializationConfig` `withView(Class<?> view)` Method for constructing and returning a new instance with different view to use.

### Methods inherited from class com.fasterxml.jackson.databind.cfg.MapperConfigBase

`copy, findConfigOverride, findMixInClassFor, findRootName, findRootName, getActiveView, getAttributes, getConfigOverride, getDefaultInclusion, getDefaultMergeable, getDefaultMergeable, getDefaultPropertyFormat, getDefaultPropertyIgnorals, getDefaultPropertyIgnorals, getDefaultPropertyInclusion, getDefaultPropertyInclusion, getDefaultSetterInfo, getDefaultVisibilityChecker, getDefaultVisibilityChecker, getFullRootName, getRootName, getSubtypeResolver, mixInCount, with, with, with, with, with, with, with, with, with, with, with, withAppendedAnnotationIntrospector, withAttribute, withAttributes, withInsertedAnnotationIntrospector, without, withoutAttribute, withRootName`

### Methods inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig

`canOverrideAccessModifiers, collectFeatureDefaults, compileString, constructSpecializedType, constructType, constructType, getAnnotationIntrospector, getBase64Variant, getClassIntrospector, getDateFormat, getDefaultInclusion, getDefaultPropertyInclusion, getDefaultTyper, getHandlerInstantiator, getLocale, getPropertyNamingStrategy, getTimeZone, getTypeFactory, hasMapperFeatures, introspectClassAnnotations, introspectClassAnnotations, introspectDirectClassAnnotations, introspectDirectClassAnnotations, isAnnotationProcessingEnabled, isEnabled, shouldSortPropertiesAlphabetically, typeIdResolverInstance, typeResolverBuilderInstance`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_PRETTY_PRINTER

    protected static final PrettyPrinter DEFAULT_PRETTY_PRINTER

#### _filterProvider

    protected final FilterProvider _filterProvider

Object used for resolving filter ids to filter instances. Non-null if explicitly defined; null by default.

#### _defaultPrettyPrinter

    protected final PrettyPrinter _defaultPrettyPrinter

If "default pretty-printing" is enabled, it will create the instance from this blueprint object.

Since:
  2.6

#### _serFeatures

    protected final int _serFeatures

Set of `SerializationFeature`s enabled.

#### _generatorFeatures

    protected final int _generatorFeatures

States of `JsonGenerator.Feature`s to enable/disable.

#### _generatorFeaturesToChange

    protected final int _generatorFeaturesToChange

Bitflag of `JsonGenerator.Feature`s to enable/disable

#### _formatWriteFeatures

    protected final int _formatWriteFeatures

States of `FormatFeature`s to enable/disable.

Since:
  2.7

#### _formatWriteFeaturesToChange

    protected final int _formatWriteFeaturesToChange

Bitflag of `FormatFeature`s to enable/disable

Since:
  2.7

### Constructor Detail

#### SerializationConfig

    public SerializationConfig(BaseSettings base,
                       SubtypeResolver str,
                       SimpleMixInResolver mixins,
                       RootNameLookup rootNames,
                       ConfigOverrides configOverrides)

Constructor used by ObjectMapper to create default configuration object instance.

Since:
  2.9

#### SerializationConfig

    protected SerializationConfig(SerializationConfig src,
                       SimpleMixInResolver mixins,
                       RootNameLookup rootNames,
                       ConfigOverrides configOverrides)

Copy-constructor used for making a copy to be used by new `ObjectMapper`.

Since:
  2.9

#### SerializationConfig

    protected SerializationConfig(SerializationConfig src,
                       ContextAttributes attrs)

Since:
  2.1

#### SerializationConfig

    protected SerializationConfig(SerializationConfig src,
                       SimpleMixInResolver mixins)

Since:
  2.1

#### SerializationConfig

    protected SerializationConfig(SerializationConfig src,
                       PrettyPrinter defaultPP)

Since:
  2.6

### Method Detail

#### _withBase

    protected final SerializationConfig _withBase(BaseSettings newBase)

Specified by:
  `_withBase` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`

#### _withMapperFeatures

    protected final SerializationConfig _withMapperFeatures(int mapperFeatures)

Specified by:
  `_withMapperFeatures` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`

#### withRootName

    public SerializationConfig withRootName(PropertyName rootName)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different root name to use (none, if null).

Note that when a root name is set to a non-Empty String, this will automatically force use of root element wrapping with given name. If empty String passed, will disable root name wrapping; and if null used, will instead use `SerializationFeature` to determine if to use wrapping, and annotation (or default name) for actual root name to use.

Specified by:
  `withRootName` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`
Parameters:
  `rootName` - to use: if null, means "use default" (clear setting); if empty String ("") means that no root name wrapping is used; otherwise defines root name to use.

#### with

    public SerializationConfig with(SubtypeResolver str)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different `SubtypeResolver` to use.

NOTE: make sure to register new instance with `ObjectMapper` if directly calling this method.

Specified by:
  `with` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`

#### withView

    public SerializationConfig withView(Class<?> view)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different view to use.

Specified by:
  `withView` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`

#### with

    public SerializationConfig with(ContextAttributes attrs)

Description copied from class: `MapperConfigBase`
Method for constructing an instance that has specified contextual attributes.

Specified by:
  `with` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`

#### with

    public SerializationConfig with(DateFormat df)

In addition to constructing instance with specified date format, will enable or disable `SerializationFeature.WRITE_DATES_AS_TIMESTAMPS` (enable if format set as null; disable if non-null)

Overrides:
  `with` in class `MapperConfigBase<SerializationFeature,SerializationConfig>`

#### with

    public SerializationConfig with(SerializationFeature feature)

Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.

#### with

    public SerializationConfig with(SerializationFeature first,
                           SerializationFeature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features enabled.

#### withFeatures

    public SerializationConfig withFeatures(SerializationFeature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features enabled.

#### without

    public SerializationConfig without(SerializationFeature feature)

Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.

#### without

    public SerializationConfig without(SerializationFeature first,
                              SerializationFeature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features disabled.

#### withoutFeatures

    public SerializationConfig withoutFeatures(SerializationFeature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features disabled.

#### with

    public SerializationConfig with(JsonGenerator.Feature feature)

Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.

Since:
  2.5

#### withFeatures

    public SerializationConfig withFeatures(JsonGenerator.Feature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features enabled.

Since:
  2.5

#### without

    public SerializationConfig without(JsonGenerator.Feature feature)

Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.

Since:
  2.5

#### withoutFeatures

    public SerializationConfig withoutFeatures(JsonGenerator.Feature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features disabled.

Since:
  2.5

#### with

    public SerializationConfig with(FormatFeature feature)

Fluent factory method that will construct and return a new configuration object instance with specified feature enabled.

Since:
  2.7

#### withFeatures

    public SerializationConfig withFeatures(FormatFeature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features enabled.

Since:
  2.7

#### without

    public SerializationConfig without(FormatFeature feature)

Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.

Since:
  2.7

#### withoutFeatures

    public SerializationConfig withoutFeatures(FormatFeature... features)

Fluent factory method that will construct and return a new configuration object instance with specified features disabled.

Since:
  2.7

#### withFilters

    public SerializationConfig withFilters(FilterProvider filterProvider)

#### withPropertyInclusion

    @Deprecated
    public SerializationConfig withPropertyInclusion(JsonInclude.Value incl)

Deprecated. Since 2.9; not needed any more
Mutant factory method for constructing a new instance with different default inclusion criteria configuration.

Since:
  2.7

#### withDefaultPrettyPrinter

    public SerializationConfig withDefaultPrettyPrinter(PrettyPrinter pp)

Since:
  2.6

#### constructDefaultPrettyPrinter

    public PrettyPrinter constructDefaultPrettyPrinter()

#### initialize

    public void initialize(JsonGenerator g)

Method called by `ObjectMapper` and `ObjectWriter` to modify those `JsonGenerator.Feature` settings that have been configured via this config instance.

Since:
  2.5

#### getSerializationInclusion

    @Deprecated
    public JsonInclude.Include getSerializationInclusion()

Deprecated. Since 2.7 use `MapperConfigBase.getDefaultPropertyInclusion()` instead

#### useRootWrapping

    public boolean useRootWrapping()

Description copied from class: `MapperConfig`
Accessor for checking whether configuration indicates that "root wrapping" (use of an extra property/name pair at root level) is expected or not.

Specified by:
  `useRootWrapping` in class `MapperConfig<SerializationConfig>`

#### isEnabled

    public final boolean isEnabled(SerializationFeature f)

#### isEnabled

    public final boolean isEnabled(JsonGenerator.Feature f,
                    JsonFactory factory)

Accessor method that first checks if we have any overrides for feature, and only if not, checks state of passed-in factory.

Since:
  2.5

#### hasSerializationFeatures

    public final boolean hasSerializationFeatures(int featureMask)

"Bulk" access method for checking that all features specified by mask are enabled.

Since:
  2.3

#### getSerializationFeatures

    public final int getSerializationFeatures()

#### getFilterProvider

    public FilterProvider getFilterProvider()

Method for getting provider used for locating filters given id (which is usually provided with filter annotations). Will be null if no provided was set for `ObjectWriter` (or if serialization directly called from `ObjectMapper`)

#### getDefaultPrettyPrinter

    public PrettyPrinter getDefaultPrettyPrinter()

Accessor for configured blueprint "default" `PrettyPrinter` to use, if default pretty-printing is enabled.

NOTE: returns the "blueprint" instance, and does NOT construct an instance ready to use; call `constructDefaultPrettyPrinter()` if actually usable instance is desired.

Since:
  2.6

#### introspect

    public <T extends BeanDescription> T introspect(JavaType type)

Method that will introspect full bean properties for the purpose of building a bean serializer