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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier | Constructor and Description
    --- | ---
    `` | `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

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright © 2008–2018 FasterXML. All rights reserved.