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

Copyright © 2012-2013 FasterXML. All Rights Reserved.