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. Note also that unlike with Jackson 1, these instances can not be assigned to `ObjectMapper`; in fact, application code should rarely interact directly with these instance (unlike core Jackson code)

See Also:
  Serialized Form

### Field Summary

Fields
`protected FilterProvider` `_filterProvider` Object used for resolving filter ids to filter instances.
`protected int` `_serFeatures` Set of features enabled; actual type (kind of features) depends on sub-classes.
`protected JsonInclude.Include` `_serializationInclusion` Which Bean/Map properties are to be included in serialization? Default settings is to include all regardless of value; can be changed to only include non-null properties, or properties with non-default values.

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

`_attributes, _mixInAnnotations, _rootName, _subtypeResolver, _view`

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

`_base, _mapperFeatures`

### Constructor Summary

Constructors
`` `SerializationConfig(BaseSettings base, SubtypeResolver str, Map<ClassKey,Class<?>> mixins)` Constructor used by ObjectMapper to create default configuration object instance.
`protected` `SerializationConfig(SerializationConfig src, ContextAttributes attrs)`
`protected` `SerializationConfig(SerializationConfig src, Map<ClassKey,Class<?>> mixins)`

### Method Summary

Methods
`AnnotationIntrospector` `getAnnotationIntrospector()` Method for getting `AnnotationIntrospector` configured to introspect annotation values used for configuration.
`VisibilityChecker<?>` `getDefaultVisibilityChecker()` Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers).
`FilterProvider` `getFilterProvider()` Method for getting provider used for locating filters given id (which is usually provided with filter annotations).
`int` `getSerializationFeatures()`
`JsonInclude.Include` `getSerializationInclusion()`
`boolean` `hasSerializationFeatures(int featureMask)` "Bulk" access method for checking that all features specified by mask are enabled.
`<T extends BeanDescription> T` `introspect(JavaType type)` Method that will introspect full bean properties for the purpose of building a bean serializer
`BeanDescription` `introspectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.
`BeanDescription` `introspectDirectClassAnnotations(JavaType type)` Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.
`boolean` `isEnabled(SerializationFeature f)`
`String` `toString()`
`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(AnnotationIntrospector ai)` Method for constructing and returning a new instance with different `AnnotationIntrospector` to use (replacing old one).
`SerializationConfig` `with(Base64Variant base64)` Method for constructing and returning a new instance with different default `Base64Variant` to use with base64-encoded binary values.
`SerializationConfig` `with(ClassIntrospector ci)` Method for constructing and returning a new instance with different `ClassIntrospector` to use.
`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(HandlerInstantiator hi)` Method for constructing and returning a new instance with different `HandlerInstantiator` to use.
`SerializationConfig` `with(Locale l)` Method for constructing and returning a new instance with different default `Locale` to use for formatting.
`SerializationConfig` `with(MapperFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`SerializationConfig` `with(MapperFeature feature, boolean state)`
`SerializationConfig` `with(PropertyNamingStrategy pns)` Method for constructing and returning a new instance with different `PropertyNamingStrategy` to use.
`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` `with(TimeZone tz)` Method for constructing and returning a new instance with different default `TimeZone` to use for formatting of date values.
`SerializationConfig` `with(TypeFactory tf)` Method for constructing and returning a new instance with different `TypeFactory` to use.
`SerializationConfig` `with(TypeResolverBuilder<?> trb)` Method for constructing and returning a new instance with different `TypeResolverBuilder` to use.
`SerializationConfig` `with(VisibilityChecker<?> vc)` Method for constructing and returning a new instance with different `VisibilityChecker` to use.
`SerializationConfig` `withAppendedAnnotationIntrospector(AnnotationIntrospector ai)` Method for constructing and returning a new instance with additional `AnnotationIntrospector` appended (as the lowest priority one)
`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` `withInsertedAnnotationIntrospector(AnnotationIntrospector ai)` Method for constructing and returning a new instance with additional `AnnotationIntrospector` inserted (as the highest priority one)
`SerializationConfig` `without(MapperFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features 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(SerializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`SerializationConfig` `withRootName(String rootName)` Method for constructing and returning a new instance with different root name to use (none, if null).
`SerializationConfig` `withSerializationInclusion(JsonInclude.Include incl)`
`SerializationConfig` `withView(Class<?> view)` Method for constructing and returning a new instance with different view to use.
`SerializationConfig` `withVisibility(PropertyAccessor forMethod, JsonAutoDetect.Visibility visibility)` Method for constructing and returning a new instance with different minimal visibility level for specified property type

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

`findMixInClassFor, getActiveView, getAttributes, getRootName, getSubtypeResolver, mixInCount, withAttribute, withAttributes, withoutAttribute`

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

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

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

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

### Field Detail

#### _serFeatures

    protected final int _serFeatures

Set of features enabled; actual type (kind of features) depends on sub-classes.

#### _serializationInclusion

    protected JsonInclude.Include _serializationInclusion

Which Bean/Map properties are to be included in serialization? Default settings is to include all regardless of value; can be changed to only include non-null properties, or properties with non-default values.

#### _filterProvider

    protected final FilterProvider _filterProvider

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

### Constructor Detail

#### SerializationConfig

    public SerializationConfig(BaseSettings base,
                       SubtypeResolver str,
                       Map<ClassKey,Class<?>> mixins)

Constructor used by ObjectMapper to create default configuration object instance.

#### SerializationConfig

    protected SerializationConfig(SerializationConfig src,
                       Map<ClassKey,Class<?>> mixins)

Since:
  2.1

#### SerializationConfig

    protected SerializationConfig(SerializationConfig src,
                       ContextAttributes attrs)

Since:
  2.1

### Method Detail

#### with

    public SerializationConfig with(MapperFeature... features)

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

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

#### without

    public SerializationConfig without(MapperFeature... features)

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

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

#### with

    public SerializationConfig with(MapperFeature feature,
                           boolean state)

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

#### with

    public SerializationConfig with(AnnotationIntrospector ai)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different `AnnotationIntrospector` to use (replacing old one).

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

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

#### withAppendedAnnotationIntrospector

    public SerializationConfig withAppendedAnnotationIntrospector(AnnotationIntrospector ai)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with additional `AnnotationIntrospector` appended (as the lowest priority one)

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

#### withInsertedAnnotationIntrospector

    public SerializationConfig withInsertedAnnotationIntrospector(AnnotationIntrospector ai)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with additional `AnnotationIntrospector` inserted (as the highest priority one)

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

#### with

    public SerializationConfig with(ClassIntrospector ci)

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

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

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)

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

#### with

    public SerializationConfig with(HandlerInstantiator hi)

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

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

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

#### with

    public SerializationConfig with(PropertyNamingStrategy pns)

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

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

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

#### withRootName

    public SerializationConfig withRootName(String 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>`

#### with

    public SerializationConfig with(TypeFactory tf)

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

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

#### with

    public SerializationConfig with(TypeResolverBuilder<?> trb)

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

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(VisibilityChecker<?> vc)

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

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

#### withVisibility

    public SerializationConfig withVisibility(PropertyAccessor forMethod,
                                     JsonAutoDetect.Visibility visibility)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different minimal visibility level for specified property type

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

#### with

    public SerializationConfig with(Locale l)

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

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

#### with

    public SerializationConfig with(TimeZone tz)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different default `TimeZone` to use for formatting of date values.

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

#### with

    public SerializationConfig with(Base64Variant base64)

Description copied from class: `MapperConfigBase`
Method for constructing and returning a new instance with different default `Base64Variant` to use with base64-encoded binary values.

Specified by:
  `with` 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(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.

#### withFilters

    public SerializationConfig withFilters(FilterProvider filterProvider)

#### withSerializationInclusion

    public SerializationConfig withSerializationInclusion(JsonInclude.Include incl)

#### 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>`

#### getAnnotationIntrospector

    public AnnotationIntrospector getAnnotationIntrospector()

Description copied from class: `MapperConfig`
Method for getting `AnnotationIntrospector` configured to introspect annotation values used for configuration.

Non-final since it is actually overridden by sub-classes (for now?)

Overrides:
  `getAnnotationIntrospector` in class `MapperConfig<SerializationConfig>`

#### introspectClassAnnotations

    public BeanDescription introspectClassAnnotations(JavaType type)

Accessor for getting bean description that only contains class annotations: useful if no getter/setter/creator information is needed.

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

#### introspectDirectClassAnnotations

    public BeanDescription introspectDirectClassAnnotations(JavaType type)

Accessor for getting bean description that only contains immediate class annotations: ones from the class, and its direct mix-in, if any, but not from super types.

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

#### getDefaultVisibilityChecker

    public VisibilityChecker<?> getDefaultVisibilityChecker()

Description copied from class: `MapperConfig`
Accessor for object used for determining whether specific property elements (method, constructors, fields) can be auto-detected based on their visibility (access modifiers). Can be changed to allow different minimum visibility levels for auto-detection. Note that this is the global handler; individual types (classes) can further override active checker used (using `JsonAutoDetect` annotation)

Overrides:
  `getDefaultVisibilityChecker` in class `MapperConfig<SerializationConfig>`

#### isEnabled

    public final boolean isEnabled(SerializationFeature f)

#### 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()

#### getSerializationInclusion

    public JsonInclude.Include getSerializationInclusion()

#### 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`)

#### introspect

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

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

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`