## 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
`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
`_mixInAnnotations, _rootName, _subtypeResolver, _view`

Fields inherited from class com.fasterxml.jackson.databind.cfg.MapperConfig
`_base, _mapperFeatures`

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

Method Summary
`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()`

`

`<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(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(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, getRootName, getSubtypeResolver, mixInCount`

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

`canOverrideAccessModifiers, collectFeatureDefaults, constructSpecializedType, constructType, constructType, getBase64Variant, getClassIntrospector, getDateFormat, getDefaultTyper, getHandlerInstantiator, getLocale, getPropertyNamingStrategy, getTimeZone, getTypeFactory, 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

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

### 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 FasterXML. All Rights Reserved.