Package 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 byObjectMapper
, 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.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DeserializationConfig(BaseSettings base, SubtypeResolver str, SimpleMixInResolver mixins, RootNameLookup rootNames, ConfigOverrides configOverrides)
Deprecated.DeserializationConfig(BaseSettings base, SubtypeResolver str, SimpleMixInResolver mixins, RootNameLookup rootNames, ConfigOverrides configOverrides, CoercionConfigs coercionConfigs)
Constructor used by ObjectMapper to create default configuration object instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description CoercionAction
findCoercionAction(LogicalType targetType, Class<?> targetClass, CoercionInputShape inputShape)
General-purpose accessor for finding what to do when specified coercion from shape that is now always allowed to be coerced from is requested.CoercionAction
findCoercionFromBlankString(LogicalType targetType, Class<?> targetClass, CoercionAction actionIfBlankNotAllowed)
More specialized accessor called in case of input being a blank String (one consisting of only white space characters with length of at least one).TypeDeserializer
findTypeDeserializer(JavaType baseType)
Helper method that is needed to properly handle polymorphic referenced types, such as types referenced byAtomicReference
, or various "optional" types.ConstructorDetector
getConstructorDetector()
int
getDeserializationFeatures()
Bulk access method for getting the bit mask of allDeserializationFeature
s that are enabled.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.boolean
hasSomeOfFeatures(int featureMask)
Bulk access method for checking that at least one of features specified by mask is enabled.JsonParser
initialize(JsonParser p)
Method called byObjectMapper
andObjectReader
to modify thoseJsonParser.Feature
settings that have been configured via this config instance.JsonParser
initialize(JsonParser p, FormatSchema schema)
BeanDescription
introspect(JavaType type)
Method that will introspect full bean properties for the purpose of building a bean deserializerBeanDescription
introspectForBuilder(JavaType type)
Deprecated.Since 2.12 - use variant that takes both builder and value typeBeanDescription
introspectForBuilder(JavaType builderType, BeanDescription valueTypeDesc)
BeanDescription
introspectForCreation(JavaType type)
Method that will introspect subset of bean properties needed to construct bean instance.boolean
isEnabled(JsonParser.Feature f, JsonFactory factory)
boolean
isEnabled(DeserializationFeature f)
boolean
requiresFullValue()
Convenience method equivalant to:isEnabled(DeserializationFeature.FAIL_ON_TRAILING_TOKENS)
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(FormatFeature feature)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.DeserializationConfig
with(JsonParser.Feature feature)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.DeserializationConfig
with(ConstructorDetector ctorDetector)
DeserializationConfig
with(ContextAttributes attrs)
Method for constructing an instance that has specified contextual attributes.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(SubtypeResolver str)
Method for constructing and returning a new instance with differentSubtypeResolver
to use.DeserializationConfig
with(JsonNodeFactory f)
Fluent factory method that will construct a new instance with specifiedJsonNodeFactory
DeserializationConfig
withFeatures(FormatFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.DeserializationConfig
withFeatures(JsonParser.Feature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.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
withNoProblemHandlers()
Method for removing all configured problem handlers; usually done to replace existing handler(s) with different one(s)DeserializationConfig
without(FormatFeature feature)
Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.DeserializationConfig
without(JsonParser.Feature feature)
Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.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
withoutFeatures(FormatFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled.DeserializationConfig
withoutFeatures(JsonParser.Feature... features)
Fluent factory method that will construct and return a new configuration object instance with specified 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(PropertyName 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.-
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, getDefaultPropertyInclusions, getDefaultSetterInfo, getDefaultVisibilityChecker, getDefaultVisibilityChecker, getFullRootName, getRootName, getSubtypeResolver, mixInCount, with, with, 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, getAccessorNaming, getAnnotationIntrospector, getBase64Variant, getClassIntrospector, getDateFormat, getDefaultInclusion, getDefaultPropertyInclusion, getDefaultTyper, getHandlerInstantiator, getLocale, getPolymorphicTypeValidator, getPropertyNamingStrategy, getTimeZone, getTypeFactory, hasExplicitTimeZone, hasMapperFeatures, introspectClassAnnotations, introspectClassAnnotations, introspectDirectClassAnnotations, introspectDirectClassAnnotations, isAnnotationProcessingEnabled, isEnabled, shouldSortPropertiesAlphabetically, typeIdResolverInstance, typeResolverBuilderInstance
-
-
-
-
Constructor Detail
-
DeserializationConfig
public DeserializationConfig(BaseSettings base, SubtypeResolver str, SimpleMixInResolver mixins, RootNameLookup rootNames, ConfigOverrides configOverrides, CoercionConfigs coercionConfigs)
Constructor used by ObjectMapper to create default configuration object instance.- Since:
- 2.12
-
DeserializationConfig
@Deprecated public DeserializationConfig(BaseSettings base, SubtypeResolver str, SimpleMixInResolver mixins, RootNameLookup rootNames, ConfigOverrides configOverrides)
Deprecated.
-
-
Method Detail
-
with
public DeserializationConfig with(SubtypeResolver str)
Description copied from class:MapperConfigBase
Method for constructing and returning a new instance with differentSubtypeResolver
to use.NOTE: make sure to register new instance with
ObjectMapper
if directly calling this method.- Specified by:
with
in classMapperConfigBase<DeserializationFeature,DeserializationConfig>
-
withRootName
public DeserializationConfig 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 classMapperConfigBase<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.
-
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 classMapperConfigBase<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 classMapperConfigBase<DeserializationFeature,DeserializationConfig>
-
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.
-
with
public DeserializationConfig with(JsonParser.Feature feature)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.- Since:
- 2.5
-
withFeatures
public DeserializationConfig withFeatures(JsonParser.Feature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.- Since:
- 2.5
-
without
public DeserializationConfig without(JsonParser.Feature feature)
Fluent factory method that will construct and return a new configuration object instance with specified feature disabled.- Since:
- 2.5
-
withoutFeatures
public DeserializationConfig withoutFeatures(JsonParser.Feature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled.- Since:
- 2.5
-
with
public DeserializationConfig with(FormatFeature feature)
Fluent factory method that will construct and return a new configuration object instance with specified features enabled.- Since:
- 2.7
-
withFeatures
public DeserializationConfig 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 DeserializationConfig 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 DeserializationConfig withoutFeatures(FormatFeature... features)
Fluent factory method that will construct and return a new configuration object instance with specified features disabled.- Since:
- 2.7
-
with
public DeserializationConfig with(JsonNodeFactory f)
Fluent factory method that will construct a new instance with specifiedJsonNodeFactory
-
with
public DeserializationConfig with(ConstructorDetector ctorDetector)
- Since:
- 2.12
-
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)
-
initialize
public JsonParser initialize(JsonParser p)
Method called byObjectMapper
andObjectReader
to modify thoseJsonParser.Feature
settings that have been configured via this config instance.- Since:
- 2.5
-
initialize
public JsonParser initialize(JsonParser p, FormatSchema schema)
- Since:
- 2.12
-
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 classMapperConfig<DeserializationConfig>
-
isEnabled
public final boolean isEnabled(DeserializationFeature f)
-
isEnabled
public final boolean isEnabled(JsonParser.Feature f, JsonFactory factory)
-
hasDeserializationFeatures
public final boolean hasDeserializationFeatures(int featureMask)
Bulk access method for checking that all features specified by mask are enabled.- Since:
- 2.3
-
hasSomeOfFeatures
public final boolean hasSomeOfFeatures(int featureMask)
Bulk access method for checking that at least one of features specified by mask is enabled.- Since:
- 2.6
-
getDeserializationFeatures
public final int getDeserializationFeatures()
Bulk access method for getting the bit mask of allDeserializationFeature
s that are enabled.
-
requiresFullValue
public final boolean requiresFullValue()
Convenience method equivalant to:isEnabled(DeserializationFeature.FAIL_ON_TRAILING_TOKENS)
- Since:
- 2.9
-
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()
-
getConstructorDetector
public ConstructorDetector getConstructorDetector()
- Since:
- 2.12
-
introspect
public BeanDescription 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 BeanDescription introspectForCreation(JavaType type)
Method that will introspect subset of bean properties needed to construct bean instance.
-
introspectForBuilder
public BeanDescription introspectForBuilder(JavaType builderType, BeanDescription valueTypeDesc)
- Since:
- 2.12
-
introspectForBuilder
@Deprecated public BeanDescription introspectForBuilder(JavaType type)
Deprecated.Since 2.12 - use variant that takes both builder and value type- Since:
- 2.0
-
findTypeDeserializer
public TypeDeserializer findTypeDeserializer(JavaType baseType) throws JsonMappingException
Helper method that is needed to properly handle polymorphic referenced types, such as types referenced byAtomicReference
, or various "optional" types.- Throws:
JsonMappingException
- Since:
- 2.4
-
findCoercionAction
public CoercionAction findCoercionAction(LogicalType targetType, Class<?> targetClass, CoercionInputShape inputShape)
General-purpose accessor for finding what to do when specified coercion from shape that is now always allowed to be coerced from is requested.- Parameters:
targetType
- Logical target type of coerciontargetClass
- Physical target type of coercioninputShape
- Input shape to coerce from- Returns:
- CoercionAction configured for specific coercion
- Since:
- 2.12
-
findCoercionFromBlankString
public CoercionAction findCoercionFromBlankString(LogicalType targetType, Class<?> targetClass, CoercionAction actionIfBlankNotAllowed)
More specialized accessor called in case of input being a blank String (one consisting of only white space characters with length of at least one). Will basically first determine if "blank as empty" is allowed: if not, returnsactionIfBlankNotAllowed
, otherwise returns action forCoercionInputShape.EmptyString
.- Parameters:
targetType
- Logical target type of coerciontargetClass
- Physical target type of coercionactionIfBlankNotAllowed
- Return value to use in case "blanks as empty" is not allowed- Returns:
- CoercionAction configured for specified coercion from blank string
- Since:
- 2.12
-
-