com.fasterxml.jackson.databind

## Class DeserializationConfig

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

All Implemented Interfaces:
  ClassIntrospector.MixInResolver, Serializable

    public final class DeserializationConfig
    extends MapperConfigBase<DeserializationFeature,DeserializationConfig>
    implements Serializable

Object that contains baseline configuration for deserialization process. An instance is owned by `ObjectMapper`, which passes an immutable instance to be used for deserialization process.

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 int` `_deserFeatures` Set of features enabled; actual type (kind of features) depends on sub-classes.
`protected JsonNodeFactory` `_nodeFactory` Factory used for constructing `JsonNode` instances.
`protected LinkedNode<DeserializationProblemHandler>` `_problemHandlers` Linked list that contains all registered problem handlers.

### 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
`` `DeserializationConfig(BaseSettings base, SubtypeResolver str, Map<ClassKey,Class<?>> mixins)` Constructor used by ObjectMapper to create default configuration object instance.
`protected` `DeserializationConfig(DeserializationConfig src, ContextAttributes attrs)`
`protected` `DeserializationConfig(DeserializationConfig src, Map<ClassKey,Class<?>> mixins)`

### Method Summary

Methods
`AnnotationIntrospector` `getAnnotationIntrospector()` Method for getting `AnnotationIntrospector` configured to introspect annotation values used for configuration.
`protected BaseSettings` `getBaseSettings()`
`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).
`int` `getDeserializationFeatures()`
`JsonNodeFactory` `getNodeFactory()`
`LinkedNode<DeserializationProblemHandler>` `getProblemHandlers()` Method for getting head of the problem handler chain.
`boolean` `hasDeserializationFeatures(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 deserializer
`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.
`<T extends BeanDescription> T` `introspectForBuilder(JavaType type)`
`<T extends BeanDescription> T` `introspectForCreation(JavaType type)` Method that will introspect subset of bean properties needed to construct bean instance.
`boolean` `isEnabled(DeserializationFeature 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.
`DeserializationConfig` `with(AnnotationIntrospector ai)` Method for constructing and returning a new instance with different `AnnotationIntrospector` to use (replacing old one).
`DeserializationConfig` `with(Base64Variant base64)` Method for constructing and returning a new instance with different default `Base64Variant` to use with base64-encoded binary values.
`DeserializationConfig` `with(ClassIntrospector ci)` Method for constructing and returning a new instance with different `ClassIntrospector` to use.
`DeserializationConfig` `with(ContextAttributes attrs)` Method for constructing an instance that has specified contextual attributes.
`DeserializationConfig` `with(DateFormat df)` Method for constructing and returning a new instance with different `DateFormat` to use.
`DeserializationConfig` `with(DeserializationFeature feature)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`DeserializationConfig` `with(DeserializationFeature first, DeserializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`DeserializationConfig` `with(HandlerInstantiator hi)` Method for constructing and returning a new instance with different `HandlerInstantiator` to use.
`DeserializationConfig` `with(JsonNodeFactory f)` Fluent factory method that will construct a new instance with specified `JsonNodeFactory`
`DeserializationConfig` `with(Locale l)` Method for constructing and returning a new instance with different default `Locale` to use for formatting.
`DeserializationConfig` `with(MapperFeature... features)` Method for constructing and returning a new instance with specified mapper features enabled.
`DeserializationConfig` `with(MapperFeature feature, boolean state)`
`DeserializationConfig` `with(PropertyNamingStrategy pns)` Method for constructing and returning a new instance with different `PropertyNamingStrategy` to use.
`DeserializationConfig` `with(SubtypeResolver str)` Method for constructing and returning a new instance with different `SubtypeResolver` to use.
`DeserializationConfig` `with(TimeZone tz)` Method for constructing and returning a new instance with different default `TimeZone` to use for formatting of date values.
`DeserializationConfig` `with(TypeFactory tf)` Method for constructing and returning a new instance with different `TypeFactory` to use.
`DeserializationConfig` `with(TypeResolverBuilder<?> trb)` Method for constructing and returning a new instance with different `TypeResolverBuilder` to use.
`DeserializationConfig` `with(VisibilityChecker<?> vc)` Method for constructing and returning a new instance with different `VisibilityChecker` to use.
`DeserializationConfig` `withAppendedAnnotationIntrospector(AnnotationIntrospector ai)` Method for constructing and returning a new instance with additional `AnnotationIntrospector` appended (as the lowest priority one)
`DeserializationConfig` `withFeatures(DeserializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
`DeserializationConfig` `withHandler(DeserializationProblemHandler h)` Method that can be used to add a handler that can (try to) resolve non-fatal deserialization problems.
`DeserializationConfig` `withInsertedAnnotationIntrospector(AnnotationIntrospector ai)` Method for constructing and returning a new instance with additional `AnnotationIntrospector` inserted (as the highest priority one)
`DeserializationConfig` `withNoProblemHandlers()` Method for removing all configured problem handlers; usually done to replace existing handler(s) with different one(s)
`DeserializationConfig` `without(DeserializationFeature feature)` Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.
`DeserializationConfig` `without(DeserializationFeature first, DeserializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`DeserializationConfig` `without(MapperFeature... features)` Method for constructing and returning a new instance with specified mapper features disabled.
`DeserializationConfig` `withoutFeatures(DeserializationFeature... features)` Fluent factory method that will construct and return a new configuration object instance with specified features disabled.
`DeserializationConfig` `withRootName(String rootName)` Method for constructing and returning a new instance with different root name to use (none, if null).
`DeserializationConfig` `withView(Class<?> view)` Method for constructing and returning a new instance with different view to use.
`DeserializationConfig` `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, toString, wait, wait, wait`

### Field Detail

#### _deserFeatures

    protected final int _deserFeatures

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

#### _problemHandlers

    protected final LinkedNode<DeserializationProblemHandler> _problemHandlers

Linked list that contains all registered problem handlers. Implementation as front-added linked list allows for sharing of the list (tail) without copying the list.

#### _nodeFactory

    protected final JsonNodeFactory _nodeFactory

Factory used for constructing `JsonNode` instances.

### Constructor Detail

#### DeserializationConfig

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

Constructor used by ObjectMapper to create default configuration object instance.

#### DeserializationConfig

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

Since:
  2.1

#### DeserializationConfig

    protected DeserializationConfig(DeserializationConfig src,
                         ContextAttributes attrs)

Since:
  2.3

### Method Detail

#### getBaseSettings

    protected BaseSettings getBaseSettings()

#### with

    public DeserializationConfig with(MapperFeature... features)

Description copied from class: `MapperConfig`
Method for constructing and returning a new instance with specified mapper features enabled.

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

#### without

    public DeserializationConfig without(MapperFeature... features)

Description copied from class: `MapperConfig`
Method for constructing and returning a new instance with specified mapper features disabled.

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

#### with

    public DeserializationConfig with(MapperFeature feature,
                             boolean state)

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

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### withVisibility

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### withRootName

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`
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 DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig with(DateFormat df)

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

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

Specified by:
  `with` in class `MapperConfigBase<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### withInsertedAnnotationIntrospector

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### withAppendedAnnotationIntrospector

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### withView

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig 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<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig with(ContextAttributes attrs)

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

Specified by:
  `with` in class `MapperConfigBase<DeserializationFeature,DeserializationConfig>`

#### with

    public DeserializationConfig with(JsonNodeFactory f)

Fluent factory method that will construct a new instance with specified `JsonNodeFactory`

#### withHandler

    public DeserializationConfig withHandler(DeserializationProblemHandler h)

Method that can be used to add a handler that can (try to) resolve non-fatal deserialization problems.

#### withNoProblemHandlers

    public DeserializationConfig withNoProblemHandlers()

Method for removing all configured problem handlers; usually done to replace existing handler(s) with different one(s)

#### with

    public DeserializationConfig with(DeserializationFeature feature)

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

#### with

    public DeserializationConfig with(DeserializationFeature first,
                             DeserializationFeature... features)

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

#### withFeatures

    public DeserializationConfig withFeatures(DeserializationFeature... features)

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

#### without

    public DeserializationConfig without(DeserializationFeature feature)

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

#### without

    public DeserializationConfig without(DeserializationFeature first,
                                DeserializationFeature... features)

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

#### withoutFeatures

    public DeserializationConfig withoutFeatures(DeserializationFeature... features)

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

#### getAnnotationIntrospector

    public AnnotationIntrospector getAnnotationIntrospector()

Method for getting `AnnotationIntrospector` configured to introspect annotation values used for configuration.

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

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

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

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

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

#### isEnabled

    public final boolean isEnabled(DeserializationFeature f)

#### hasDeserializationFeatures

    public final boolean hasDeserializationFeatures(int featureMask)

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

Since:
  2.3

#### getDeserializationFeatures

    public final int getDeserializationFeatures()

#### getProblemHandlers

    public LinkedNode<DeserializationProblemHandler> getProblemHandlers()

Method for getting head of the problem handler chain. May be null, if no handlers have been added.

#### getNodeFactory

    public final JsonNodeFactory getNodeFactory()

#### introspect

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

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

Parameters:
  `type` - Type of class to be introspected

#### introspectForCreation

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

Method that will introspect subset of bean properties needed to construct bean instance.

#### introspectForBuilder

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

Since:
  2.0