Class DeserializationConfig

  • All Implemented Interfaces:
    ClassIntrospector.MixInResolver, java.io.Serializable

    public final class DeserializationConfig
    extends MapperConfigBase<DeserializationFeature,​DeserializationConfig>
    implements java.io.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.

    See Also:
    Serialized Form
    • Method Detail

      • 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 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.
      • withFeatures

        public DeserializationConfig withFeatures​(DeserializationFeature... features)
        Fluent factory method that will construct and return a new configuration object instance with specified features enabled.
      • 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
      • withNoProblemHandlers

        public DeserializationConfig withNoProblemHandlers()
        Method for removing all configured problem handlers; usually done to replace existing handler(s) with different one(s)
      • 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>
      • 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 all DeserializationFeatures that are enabled.
      • requiresFullValue

        public final boolean requiresFullValue()
        Convenience method equivalant to: isEnabled(DeserializationFeature.FAIL_ON_TRAILING_TOKENS)
        Since:
        2.9
      • 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

        @Deprecated
        public BeanDescription introspectForBuilder​(JavaType type)
        Deprecated.
        Since 2.12 - use variant that takes both builder and value type
        Since:
        2.0
      • findCoercionAction

        public CoercionAction findCoercionAction​(LogicalType targetType,
                                                 java.lang.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 coercion
        targetClass - Physical target type of coercion
        inputShape - Input shape to coerce from
        Returns:
        CoercionAction configured for specific coercion
        Since:
        2.12
      • findCoercionFromBlankString

        public CoercionAction findCoercionFromBlankString​(LogicalType targetType,
                                                          java.lang.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, returns actionIfBlankNotAllowed, otherwise returns action for CoercionInputShape.EmptyString.
        Parameters:
        targetType - Logical target type of coercion
        targetClass - Physical target type of coercion
        actionIfBlankNotAllowed - Return value to use in case "blanks as empty" is not allowed
        Returns:
        CoercionAction configured for specified coercion from blank string
        Since:
        2.12