com.fasterxml.jackson.databind.deser.std

## Class StdDeserializer<T>

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonDeserializer<T>
  - - com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>

All Implemented Interfaces:
  NullValueProvider, ValueInstantiator.Gettable, Serializable

Direct Known Subclasses:
  BeanDeserializerBase, ContainerDeserializerBase, DelegatingDeserializer, EnumSetDeserializer, FailingDeserializer, JsonNodeDeserializer, NullifyingDeserializer, PrimitiveArrayDeserializers, ReferenceTypeDeserializer, StdDelegatingDeserializer, StdNodeBasedDeserializer, StdScalarDeserializer, StringArrayDeserializer, UnsupportedTypeDeserializer, UntypedObjectDeserializer, UntypedObjectDeserializer.Vanilla

    public abstract class StdDeserializer<T>
    extends JsonDeserializer<T>
    implements Serializable, ValueInstantiator.Gettable

Base class for common deserializers. Contains shared base functionality for dealing with primitive values, such as (re)parsing from String.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

`JsonDeserializer.None`

### Field Summary

Fields
`protected Class<?>` `_valueClass` Type of values this deserializer handles: sometimes exact types, other time most specific supertype of types deserializer handles (which may be as generic as `Object` in some case)
`protected JavaType` `_valueType`
`protected static int` `F_MASK_ACCEPT_ARRAYS` Deprecated.
`protected static int` `F_MASK_INT_COERCIONS` Bitmask that covers `DeserializationFeature.USE_BIG_INTEGER_FOR_INTS` and `DeserializationFeature.USE_LONG_FOR_INTS`, used for more efficient cheks when coercing integral values for untyped deserialization.

### Constructor Summary

Constructors
`protected` `StdDeserializer(Class<?> vc)`
`protected` `StdDeserializer(JavaType valueType)`
`protected` `StdDeserializer(StdDeserializer<?> src)` Copy-constructor for sub-classes to use, most often when creating new instances for `ContextualDeserializer`.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`protected boolean` `_byteOverflow(int value)`
`protected CoercionAction` `_checkBooleanToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType)`
`protected CoercionAction` `_checkCoercionFail(DeserializationContext ctxt, CoercionAction act, Class<?> targetType, Object inputValue, String inputDesc)`
`protected Double` `_checkDoubleSpecialValue(String text)` Helper method called to check whether given String value contains one of "special" values (currently, NaN ("not-a-number") and plus/minus Infinity) and if so, returns that value; otherwise returns `null`.
`protected Float` `_checkFloatSpecialValue(String text)` Helper method called to check whether given String value contains one of "special" values (currently, NaN ("not-a-number") and plus/minus Infinity) and if so, returns that value; otherwise returns `null`.
`protected CoercionAction` `_checkFloatToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType)`
`protected CoercionAction` `_checkFloatToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType)`
`protected CoercionAction` `_checkFromStringCoercion(DeserializationContext ctxt, String value)`
`protected CoercionAction` `_checkFromStringCoercion(DeserializationContext ctxt, String value, LogicalType logicalType, Class<?> rawTargetType)`
`protected CoercionAction` `_checkIntToFloatCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType)`
`protected CoercionAction` `_checkIntToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType)`
`protected boolean` `_checkTextualNull(DeserializationContext ctxt, String text)` Method called when otherwise unrecognized String value is encountered for a non-primitive type: should see if it is String value `"null"`, and if so, whether it is acceptable according to configuration or not
`protected CoercionAction` `_checkToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType, Object inputValue, CoercionInputShape inputShape)`
`protected Boolean` `_coerceBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType)`
`protected String` `_coercedTypeDesc()` Helper method called to get a description of type into which a scalar value coercion is (most likely) being applied, to be used for constructing exception messages on coerce failure.
`protected String` `_coercedTypeDesc(Class<?> rawTargetType)` Helper method called to get a description of type into which a scalar value coercion is being applied, to be used for constructing exception messages on coerce failure.
`protected Object` `_coerceEmptyString(DeserializationContext ctxt, boolean isPrimitive)` Deprecated. Since 2.12
`protected Object` `_coerceIntegral(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Helper method called in case where an integral number is encountered, but config settings suggest that a coercion may be needed to "upgrade" `Number` into "bigger" type like `Long` or `BigInteger`
`protected Object` `_coerceNullToken(DeserializationContext ctxt, boolean isPrimitive)` Deprecated.
`protected Object` `_coerceTextualNull(DeserializationContext ctxt, boolean isPrimitive)` Deprecated.

`protected T`

`_deserializeFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
Helper method that allows easy support for array-related coercion features: checks for either empty array, or single-value array-wrapped value (if coercion enabled by `CoercionConfigs` (since 2.12), and either reports an exception (if no coercion allowed), or returns appropriate result value using coercion mechanism indicated.

`protected T` `_deserializeFromEmpty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Deprecated. Since 2.12
`protected Object` `_deserializeFromEmptyString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, CoercionAction act, Class<?> rawTargetType, String desc)`
`protected T` `_deserializeFromString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Helper method to call in case deserializer does not support native automatic use of incoming String values, but there may be standard coercions to consider.
`protected T` `_deserializeWrappedValue(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Helper called to support `DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS`: default implementation simply calls `JsonDeserializer.deserialize(JsonParser, DeserializationContext)`, but handling may be overridden.
`protected void` `_failDoubleToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, String type)` Deprecated.
`protected CoercionAction` `_findCoercionFromBlankString(DeserializationContext ctxt)`
`protected CoercionAction` `_findCoercionFromEmptyArray(DeserializationContext ctxt)`
`protected CoercionAction` `_findCoercionFromEmptyString(DeserializationContext ctxt)`
`protected NullValueProvider` `_findNullProvider(DeserializationContext ctxt, BeanProperty prop, com.fasterxml.jackson.annotation.Nulls nulls, JsonDeserializer<?> valueDeser)`
`protected boolean` `_hasTextualNull(String value)` Helper method called to determine if we are seeing String value of "null", and, further, that it should be coerced to null just like null token.
`protected boolean` `_intOverflow(long value)`
`protected static boolean` `_isBlank(String text)`
`protected boolean` `_isEmptyOrTextualNull(String value)` Deprecated.
`protected boolean` `_isFalse(String text)`
`protected boolean` `_isIntNumber(String text)` Helper method to check whether given text refers to what looks like a clean simple integer number, consisting of optional sign followed by a sequence of digits.
`protected boolean` `_isNaN(String text)`
`protected boolean` `_isNegInf(String text)`
`protected boolean` `_isPosInf(String text)`
`protected boolean` `_isTrue(String text)`
`protected static boolean` `_neitherNull(Object a, Object b)`
`protected Number` `_nonNullNumber(Number n)`
`protected Boolean` `_parseBoolean(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> targetType)` Helper method called for cases where non-primitive, boolean-based value is to be deserialized: result of this method will be `Boolean`, although actual target type may be something different.
`protected boolean` `_parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Deprecated.
`protected boolean` `_parseBooleanPrimitive(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p, Class<?> targetType)` Deprecated.
`protected boolean` `_parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected byte` `_parseBytePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected Date` `_parseDate(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected Date` `_parseDate(String value, DeserializationContext ctxt)`
`protected Date` `_parseDateFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected static double` `_parseDouble(String numStr)` Helper method for encapsulating calls to low-level double value parsing; single place just because we need a work-around that must be applied to all calls.
`protected static double` `_parseDouble(String numStr, boolean useFastParser)` Helper method for encapsulating calls to low-level double value parsing; single place just because we need a work-around that must be applied to all calls.
`protected double` `_parseDoublePrimitive(DeserializationContext ctxt, String text)`
`protected double` `_parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected double` `_parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, String text)`
`protected float` `_parseFloatPrimitive(DeserializationContext ctxt, String text)` Deprecated. Since 2.17 use `_parseFloatPrimitive(JsonParser, DeserializationContext, String)`
`protected float` `_parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected float` `_parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, String text)`
`protected Integer` `_parseInteger(DeserializationContext ctxt, String text)`
`protected Integer` `_parseInteger(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> targetType)`
`protected int` `_parseIntPrimitive(DeserializationContext ctxt, String text)`
`protected int` `_parseIntPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected Long` `_parseLong(DeserializationContext ctxt, String text)`
`protected Long` `_parseLong(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> targetType)`
`protected long` `_parseLongPrimitive(DeserializationContext ctxt, String text)`
`protected long` `_parseLongPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected short` `_parseShortPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected String` `_parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Deprecated. Since 2.14 (use the non-deprecated overload)
`protected String` `_parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, NullValueProvider nullProvider)` Helper method used for deserializing String value, if possible, doing necessary conversion or throwing exception as necessary.
`protected void` `_reportFailedNullCoerce(DeserializationContext ctxt, boolean state, Enum<?> feature, String inputDesc)`
`protected boolean` `_shortOverflow(int value)`
`protected void` `_verifyEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected void` `_verifyNullForPrimitive(DeserializationContext ctxt)` Method called to verify that `null` token from input is acceptable for primitive (unboxed) target type.
`protected void` `_verifyNullForPrimitiveCoercion(DeserializationContext ctxt, String str)` Method called to verify that text value `"null"` from input is acceptable for primitive (unboxed) target type.
`protected void` `_verifyNullForScalarCoercion(DeserializationContext ctxt, String str)` Deprecated.
`protected void` `_verifyNumberForScalarCoercion(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p)` Deprecated.
`protected void` `_verifyStringForScalarCoercion(DeserializationContext ctxt, String str)` Deprecated. Since 2.12 use `_checkFromStringCoercion(com.fasterxml.jackson.databind.DeserializationContext, java.lang.String)` instead
`Object` `deserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer)` Base implementation that does not assume specific type inclusion mechanism.
`protected NullValueProvider` `findContentNullProvider(DeserializationContext ctxt, BeanProperty prop, JsonDeserializer<?> valueDeser)` Method called to find `NullValueProvider` for a contents of a structured primary property (Collection, Map, array), using "content nulls" setting.
`protected com.fasterxml.jackson.annotation.Nulls` `findContentNullStyle(DeserializationContext ctxt, BeanProperty prop)`
`protected JsonDeserializer<?>` `findConvertingContentDeserializer(DeserializationContext ctxt, BeanProperty prop, JsonDeserializer<?> existingDeserializer)` Helper method that can be used to see if specified property has annotation indicating that a converter is to be used for contained values (contents of structured types; array/List/Map values)
`protected JsonDeserializer<Object>` `findDeserializer(DeserializationContext ctxt, JavaType type, BeanProperty property)` Helper method used to locate deserializers for properties the type this deserializer handles contains (usually for properties of bean types)

`protected Boolean`

`findFormatFeature(DeserializationContext ctxt, BeanProperty prop, Class<?> typeForDefaults, com.fasterxml.jackson.annotation.JsonFormat.Feature feat)`
Convenience method that uses `findFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.BeanProperty, java.lang.Class<?>)` to find possible defaults and/of overrides, and then calls `JsonFormat.Value.getFeature(feat)` to find whether that feature has been specifically marked as enabled or disabled.

`protected com.fasterxml.jackson.annotation.JsonFormat.Value` `findFormatOverrides(DeserializationContext ctxt, BeanProperty prop, Class<?> typeForDefaults)` Helper method that may be used to find if this deserializer has specific `JsonFormat` settings, either via property, or through type-specific defaulting.
`protected NullValueProvider` `findValueNullProvider(DeserializationContext ctxt, SettableBeanProperty prop, PropertyMetadata propMetadata)` Method called to find `NullValueProvider` for a primary property, using "value nulls" setting.
`Class<?>` `getValueClass()` Deprecated. Since 2.3 use `handledType()` instead
`ValueInstantiator` `getValueInstantiator()`
`JavaType` `getValueType()` Exact structured type this deserializer handles, if known.
`JavaType` `getValueType(DeserializationContext ctxt)` Convenience method for getting handled type as `JavaType`, regardless of whether deserializer has one already resolved (and accessible via `getValueType()`) or not: equivalent to: if (getValueType() !
`Class<?>` `handledType()` Method for accessing concrete physical type of values this deserializer produces.
`protected void` `handleMissingEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
`protected Object` `handleNestedArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)` Helper method called when detecting a deep(er) nesting of Arrays when trying to unwrap value for `DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS`.
`protected void` `handleUnknownProperty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Object instanceOrClass, String propName)` Method called to deal with a property that did not map to a known Bean property.
`protected boolean` `isDefaultDeserializer(JsonDeserializer<?> deserializer)` Method that can be called to determine if given deserializer is the default deserializer Jackson uses; as opposed to a custom deserializer installed by a module or calling application.
`protected boolean` `isDefaultKeyDeserializer(KeyDeserializer keyDeser)`

### Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

`deserialize, deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### F_MASK_INT_COERCIONS

    protected static final int F_MASK_INT_COERCIONS

Bitmask that covers `DeserializationFeature.USE_BIG_INTEGER_FOR_INTS` and `DeserializationFeature.USE_LONG_FOR_INTS`, used for more efficient cheks when coercing integral values for untyped deserialization.

Since:
  2.6

#### F_MASK_ACCEPT_ARRAYS

    @Deprecated
    protected static final int F_MASK_ACCEPT_ARRAYS

Deprecated.

#### _valueClass

    protected final Class<?> _valueClass

Type of values this deserializer handles: sometimes exact types, other time most specific supertype of types deserializer handles (which may be as generic as `Object` in some case)

#### _valueType

    protected final JavaType _valueType

### Constructor Detail

#### StdDeserializer

    protected StdDeserializer(Class<?> vc)

#### StdDeserializer

    protected StdDeserializer(JavaType valueType)

#### StdDeserializer

    protected StdDeserializer(StdDeserializer<?> src)

Copy-constructor for sub-classes to use, most often when creating new instances for `ContextualDeserializer`.

Since:
  2.5

### Method Detail

#### handledType

    public Class<?> handledType()

Description copied from class: `JsonDeserializer`
Method for accessing concrete physical type of values this deserializer produces. Note that this information is not guaranteed to be exact -- it may be a more generic (super-type) -- but it should not be incorrect (return a non-related type).

Default implementation will return null, which means almost same same as returning `Object.class` would; that is, that nothing is known about handled type.

Overrides:
  `handledType` in class `JsonDeserializer<T>`
Returns:
  Physical type of values this deserializer produces, if known; `null` if not

#### getValueClass

    @Deprecated
    public final Class<?> getValueClass()

Deprecated. Since 2.3 use `handledType()` instead

#### getValueType

    public JavaType getValueType()

Exact structured type this deserializer handles, if known.

#### getValueType

    public JavaType getValueType(DeserializationContext ctxt)

Convenience method for getting handled type as `JavaType`, regardless of whether deserializer has one already resolved (and accessible via `getValueType()`) or not: equivalent to:

       if (getValueType() != null) {
            return getValueType();
       }
       return ctxt.constructType(handledType());

Since:
  2.10

#### getValueInstantiator

    public ValueInstantiator getValueInstantiator()

Specified by:
  `getValueInstantiator` in interface `ValueInstantiator.Gettable`
Since:
  2.12

#### isDefaultDeserializer

    protected boolean isDefaultDeserializer(JsonDeserializer<?> deserializer)

Method that can be called to determine if given deserializer is the default deserializer Jackson uses; as opposed to a custom deserializer installed by a module or calling application. Determination is done using `JacksonStdImpl` annotation on deserializer class.

#### isDefaultKeyDeserializer

    protected boolean isDefaultKeyDeserializer(KeyDeserializer keyDeser)

#### deserializeWithType

    public Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p,
                                      DeserializationContext ctxt,
                                      TypeDeserializer typeDeserializer)
                               throws IOException

Base implementation that does not assume specific type inclusion mechanism. Sub-classes are expected to override this method if they are to handle type information.

Overrides:
  `deserializeWithType` in class `JsonDeserializer<T>`
  `typeDeserializer` - Deserializer to use for handling type information
Throws:
  `IOException`

#### _deserializeFromArray

    protected T _deserializeFromArray(com.fasterxml.jackson.core.JsonParser p,
                                      DeserializationContext ctxt)
                               throws IOException

Helper method that allows easy support for array-related coercion features: checks for either empty array, or single-value array-wrapped value (if coercion enabled by `CoercionConfigs` (since 2.12), and either reports an exception (if no coercion allowed), or returns appropriate result value using coercion mechanism indicated.

This method should NOT be called if Array representation is explicitly supported for type: it should only be called in case it is otherwise unrecognized.

NOTE: in case of unwrapped single element, will handle actual decoding by calling `_deserializeWrappedValue(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext)`, which by default calls `JsonDeserializer.deserialize(JsonParser, DeserializationContext)`.

Throws:
  `IOException`
Since:
  2.9

#### _deserializeFromEmpty

    @Deprecated
    protected T _deserializeFromEmpty(com.fasterxml.jackson.core.JsonParser p,
                                                  DeserializationContext ctxt)
                                           throws IOException

Deprecated. Since 2.12
Helper method that may be used to support fallback for Empty String / Empty Array non-standard representations; usually for things serialized as JSON Objects.

Throws:
  `IOException`
Since:
  2.5

#### _deserializeFromString

    protected T _deserializeFromString(com.fasterxml.jackson.core.JsonParser p,
                                       DeserializationContext ctxt)
                                throws IOException

Helper method to call in case deserializer does not support native automatic use of incoming String values, but there may be standard coercions to consider.

Throws:
  `IOException`
Since:
  2.12

#### _deserializeFromEmptyString

    protected Object _deserializeFromEmptyString(com.fasterxml.jackson.core.JsonParser p,
                                                 DeserializationContext ctxt,
                                                 CoercionAction act,
                                                 Class<?> rawTargetType,
                                                 String desc)
                                          throws IOException

Throws:
  `IOException`

#### _deserializeWrappedValue

    protected T _deserializeWrappedValue(com.fasterxml.jackson.core.JsonParser p,
                                         DeserializationContext ctxt)
                                  throws IOException

Helper called to support `DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS`: default implementation simply calls `JsonDeserializer.deserialize(JsonParser, DeserializationContext)`, but handling may be overridden.

Throws:
  `IOException`
Since:
  2.9

#### _parseBooleanPrimitive

    @Deprecated
    protected final boolean _parseBooleanPrimitive(DeserializationContext ctxt,
                                                               com.fasterxml.jackson.core.JsonParser p,
                                                               Class<?> targetType)
                                                        throws IOException

Deprecated.

Throws:
  `IOException`

#### _parseBooleanPrimitive

    protected final boolean _parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p,
                                                   DeserializationContext ctxt)
                                            throws IOException

Parameters:
  `ctxt` - Deserialization context for accessing configuration
  `p` - Underlying parser
Throws:
  `IOException`

#### _isTrue

    protected boolean _isTrue(String text)

#### _isFalse

    protected boolean _isFalse(String text)

#### _parseBoolean

    protected final Boolean _parseBoolean(com.fasterxml.jackson.core.JsonParser p,
                                          DeserializationContext ctxt,
                                          Class<?> targetType)
                                   throws IOException

Helper method called for cases where non-primitive, boolean-based value is to be deserialized: result of this method will be `Boolean`, although actual target type may be something different.

Note: does NOT dynamically access "empty value" or "null value" of deserializer since those values could be of type other than `Boolean`. Caller may need to translate from 3 possible result types into appropriately matching output types.

Parameters:
  `p` - Underlying parser
  `ctxt` - Deserialization context for accessing configuration
  `targetType` - Actual type that is being deserialized, may be same as `handledType()` but could be `AtomicBoolean` for example. Used for coercion config access.
Throws:
  `IOException`
Since:
  2.12

#### _parseBytePrimitive

    protected final byte _parseBytePrimitive(com.fasterxml.jackson.core.JsonParser p,
                                             DeserializationContext ctxt)
                                      throws IOException

Throws:
  `IOException`

#### _parseShortPrimitive

    protected final short _parseShortPrimitive(com.fasterxml.jackson.core.JsonParser p,
                                               DeserializationContext ctxt)
                                        throws IOException

Throws:
  `IOException`

#### _parseIntPrimitive

    protected final int _parseIntPrimitive(com.fasterxml.jackson.core.JsonParser p,
                                           DeserializationContext ctxt)
                                    throws IOException

Throws:
  `IOException`

#### _parseIntPrimitive

    protected final int _parseIntPrimitive(DeserializationContext ctxt,
                                           String text)
                                    throws IOException

Throws:
  `IOException`
Since:
  2.9

#### _parseInteger

    protected final Integer _parseInteger(com.fasterxml.jackson.core.JsonParser p,
                                          DeserializationContext ctxt,
                                          Class<?> targetType)
                                   throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _parseInteger

    protected final Integer _parseInteger(DeserializationContext ctxt,
                                          String text)
                                   throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _parseLongPrimitive

    protected final long _parseLongPrimitive(com.fasterxml.jackson.core.JsonParser p,
                                             DeserializationContext ctxt)
                                      throws IOException

Throws:
  `IOException`

#### _parseLongPrimitive

    protected final long _parseLongPrimitive(DeserializationContext ctxt,
                                             String text)
                                      throws IOException

Throws:
  `IOException`
Since:
  2.9

#### _parseLong

    protected final Long _parseLong(com.fasterxml.jackson.core.JsonParser p,
                                    DeserializationContext ctxt,
                                    Class<?> targetType)
                             throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _parseLong

    protected final Long _parseLong(DeserializationContext ctxt,
                                    String text)
                             throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _parseFloatPrimitive

    protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p,
                                               DeserializationContext ctxt)
                                        throws IOException

Throws:
  `IOException`

#### _parseFloatPrimitive

    @Deprecated
    protected final float _parseFloatPrimitive(DeserializationContext ctxt,
                                                           String text)
                                                    throws IOException

Deprecated. Since 2.17 use `_parseFloatPrimitive(JsonParser, DeserializationContext, String)`

Throws:
  `IOException`
Since:
  2.9

#### _parseFloatPrimitive

    protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p,
                                               DeserializationContext ctxt,
                                               String text)
                                        throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _checkFloatSpecialValue

    protected Float _checkFloatSpecialValue(String text)

Helper method called to check whether given String value contains one of "special" values (currently, NaN ("not-a-number") and plus/minus Infinity) and if so, returns that value; otherwise returns `null`.

Parameters:
  `text` - String value to check
Returns:
  One of `Float` constants referring to special value decoded, if value matched; `null` otherwise.
Since:
  2.12

#### _parseDoublePrimitive

    protected final double _parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p,
                                                 DeserializationContext ctxt)
                                          throws IOException

Throws:
  `IOException`

#### _parseDoublePrimitive

    protected final double _parseDoublePrimitive(DeserializationContext ctxt,
                                                 String text)
                                          throws IOException

Throws:
  `IOException`
Since:
  2.9

#### _parseDoublePrimitive

    protected final double _parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p,
                                                 DeserializationContext ctxt,
                                                 String text)
                                          throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _parseDouble

    protected static final double _parseDouble(String numStr)
                                        throws NumberFormatException

Helper method for encapsulating calls to low-level double value parsing; single place just because we need a work-around that must be applied to all calls. Does not use the new `useFastParser` support.

Throws:
  `NumberFormatException`
See Also:
  `_parseDouble(String, boolean)`

#### _parseDouble

    protected static final double _parseDouble(String numStr,
                                               boolean useFastParser)
                                        throws NumberFormatException

Helper method for encapsulating calls to low-level double value parsing; single place just because we need a work-around that must be applied to all calls.

Throws:
  `NumberFormatException`
Since:
  2.14

#### _checkDoubleSpecialValue

    protected Double _checkDoubleSpecialValue(String text)

Helper method called to check whether given String value contains one of "special" values (currently, NaN ("not-a-number") and plus/minus Infinity) and if so, returns that value; otherwise returns `null`.

Parameters:
  `text` - String value to check
Returns:
  One of `Double` constants referring to special value decoded, if value matched; `null` otherwise.
Since:
  2.12

#### _parseDate

    protected Date _parseDate(com.fasterxml.jackson.core.JsonParser p,
                              DeserializationContext ctxt)
                       throws IOException

Throws:
  `IOException`

#### _parseDateFromArray

    protected Date _parseDateFromArray(com.fasterxml.jackson.core.JsonParser p,
                                       DeserializationContext ctxt)
                                throws IOException

Throws:
  `IOException`

#### _parseDate

    protected Date _parseDate(String value,
                              DeserializationContext ctxt)
                       throws IOException

Throws:
  `IOException`
Since:
  2.8

#### _parseString

    @Deprecated
    protected final String _parseString(com.fasterxml.jackson.core.JsonParser p,
                                                    DeserializationContext ctxt)
                                             throws IOException

Deprecated. Since 2.14 (use the non-deprecated overload)

Throws:
  `IOException`
Since:
  2.1

#### _parseString

    protected final String _parseString(com.fasterxml.jackson.core.JsonParser p,
                                        DeserializationContext ctxt,
                                        NullValueProvider nullProvider)
                                 throws IOException

Helper method used for deserializing String value, if possible, doing necessary conversion or throwing exception as necessary.

Starting with 2.14 will also start checking `CoercionConfig` configuration to check whether coercion needed is allowed.

Parameters:
  `p` - Currently active parser being iterated over
  `ctxt` - Deserialization context
  `nullProvider` - Entity we (only) need for case of secondary value type being coerced into `null`: if so, provider is asked for possible "null replacement" value.
Throws:
  `IOException`
Since:
  2.14 (with this signature)

#### _hasTextualNull

    protected boolean _hasTextualNull(String value)

Helper method called to determine if we are seeing String value of "null", and, further, that it should be coerced to null just like null token.

Since:
  2.3

#### _isNegInf

    protected final boolean _isNegInf(String text)

#### _isPosInf

    protected final boolean _isPosInf(String text)

#### _isNaN

    protected final boolean _isNaN(String text)

#### _isBlank

    protected static final boolean _isBlank(String text)

#### _checkFromStringCoercion

    protected CoercionAction _checkFromStringCoercion(DeserializationContext ctxt,
                                                      String value)
                                               throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _checkFromStringCoercion

    protected CoercionAction _checkFromStringCoercion(DeserializationContext ctxt,
                                                      String value,
                                                      LogicalType logicalType,
                                                      Class<?> rawTargetType)
                                               throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _checkFloatToIntCoercion

    protected CoercionAction _checkFloatToIntCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                      DeserializationContext ctxt,
                                                      Class<?> rawTargetType)
                                               throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _checkIntToStringCoercion

    protected CoercionAction _checkIntToStringCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                       DeserializationContext ctxt,
                                                       Class<?> rawTargetType)
                                                throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _checkFloatToStringCoercion

    protected CoercionAction _checkFloatToStringCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                         DeserializationContext ctxt,
                                                         Class<?> rawTargetType)
                                                  throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _checkBooleanToStringCoercion

    protected CoercionAction _checkBooleanToStringCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                           DeserializationContext ctxt,
                                                           Class<?> rawTargetType)
                                                    throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _checkToStringCoercion

    protected CoercionAction _checkToStringCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                    DeserializationContext ctxt,
                                                    Class<?> rawTargetType,
                                                    Object inputValue,
                                                    CoercionInputShape inputShape)
                                             throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _checkIntToFloatCoercion

    protected CoercionAction _checkIntToFloatCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                      DeserializationContext ctxt,
                                                      Class<?> rawTargetType)
                                               throws IOException

Throws:
  `IOException`
Since:
  2.14

#### _coerceBooleanFromInt

    protected Boolean _coerceBooleanFromInt(com.fasterxml.jackson.core.JsonParser p,
                                            DeserializationContext ctxt,
                                            Class<?> rawTargetType)
                                     throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _checkCoercionFail

    protected CoercionAction _checkCoercionFail(DeserializationContext ctxt,
                                                CoercionAction act,
                                                Class<?> targetType,
                                                Object inputValue,
                                                String inputDesc)
                                         throws IOException

Throws:
  `IOException`
Since:
  2.12

#### _checkTextualNull

    protected boolean _checkTextualNull(DeserializationContext ctxt,
                                        String text)
                                 throws JsonMappingException

Method called when otherwise unrecognized String value is encountered for a non-primitive type: should see if it is String value `"null"`, and if so, whether it is acceptable according to configuration or not

Throws:
  `JsonMappingException`
Since:
  2.12

#### _coerceIntegral

    protected Object _coerceIntegral(com.fasterxml.jackson.core.JsonParser p,
                                     DeserializationContext ctxt)
                              throws IOException

Helper method called in case where an integral number is encountered, but config settings suggest that a coercion may be needed to "upgrade" `Number` into "bigger" type like `Long` or `BigInteger`

Throws:
  `IOException`
Since:
  2.6
See Also:
  `DeserializationFeature.USE_BIG_INTEGER_FOR_INTS`, `DeserializationFeature.USE_LONG_FOR_INTS`

#### _verifyNullForPrimitive

    protected final void _verifyNullForPrimitive(DeserializationContext ctxt)
                                          throws JsonMappingException

Method called to verify that `null` token from input is acceptable for primitive (unboxed) target type. It should NOT be called if `null` was received by other means (coerced due to configuration, or even from optionally acceptable String `"null"` token).

Throws:
  `JsonMappingException`
Since:
  2.9

#### _verifyNullForPrimitiveCoercion

    protected final void _verifyNullForPrimitiveCoercion(DeserializationContext ctxt,
                                                         String str)
                                                  throws JsonMappingException

Method called to verify that text value `"null"` from input is acceptable for primitive (unboxed) target type. It should not be called if actual `null` token was received, or if null is a result of coercion from Some other input type.

Throws:
  `JsonMappingException`
Since:
  2.9

#### _reportFailedNullCoerce

    protected void _reportFailedNullCoerce(DeserializationContext ctxt,
                                           boolean state,
                                           Enum<?> feature,
                                           String inputDesc)
                                    throws JsonMappingException

Throws:
  `JsonMappingException`

#### _coercedTypeDesc

    protected String _coercedTypeDesc()

Helper method called to get a description of type into which a scalar value coercion is (most likely) being applied, to be used for constructing exception messages on coerce failure.

Returns:
  Message with backtick-enclosed name of type this deserializer supports
Since:
  2.9

#### _coercedTypeDesc

    protected String _coercedTypeDesc(Class<?> rawTargetType)

Helper method called to get a description of type into which a scalar value coercion is being applied, to be used for constructing exception messages on coerce failure.

Returns:
  Message with backtick-enclosed name of target type
Since:
  2.15

#### _parseBooleanFromInt

    @Deprecated
    protected boolean _parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p,
                                                       DeserializationContext ctxt)
                                                throws IOException

Deprecated.

Throws:
  `IOException`

#### _verifyStringForScalarCoercion

    @Deprecated
    protected void _verifyStringForScalarCoercion(DeserializationContext ctxt,
                                                              String str)
                                                       throws JsonMappingException

Deprecated. Since 2.12 use `_checkFromStringCoercion(com.fasterxml.jackson.databind.DeserializationContext, java.lang.String)` instead

Throws:
  `JsonMappingException`

#### _coerceEmptyString

    @Deprecated
    protected Object _coerceEmptyString(DeserializationContext ctxt,
                                                    boolean isPrimitive)
                                             throws JsonMappingException

Deprecated. Since 2.12
Method called when JSON String with value "" (that is, zero length) is encountered.

Throws:
  `JsonMappingException`

#### _failDoubleToIntCoercion

    @Deprecated
    protected void _failDoubleToIntCoercion(com.fasterxml.jackson.core.JsonParser p,
                                                        DeserializationContext ctxt,
                                                        String type)
                                                 throws IOException

Deprecated.

Throws:
  `IOException`

#### _verifyNullForScalarCoercion

    @Deprecated
    protected final void _verifyNullForScalarCoercion(DeserializationContext ctxt,
                                                                  String str)
                                                           throws JsonMappingException

Deprecated.

Throws:
  `JsonMappingException`

#### _verifyNumberForScalarCoercion

    @Deprecated
    protected void _verifyNumberForScalarCoercion(DeserializationContext ctxt,
                                                              com.fasterxml.jackson.core.JsonParser p)
                                                       throws IOException

Deprecated.

Throws:
  `IOException`

#### _coerceNullToken

    @Deprecated
    protected Object _coerceNullToken(DeserializationContext ctxt,
                                                  boolean isPrimitive)
                                           throws JsonMappingException

Deprecated.

Throws:
  `JsonMappingException`

#### _coerceTextualNull

    @Deprecated
    protected Object _coerceTextualNull(DeserializationContext ctxt,
                                                    boolean isPrimitive)
                                             throws JsonMappingException

Deprecated.

Throws:
  `JsonMappingException`

#### _isEmptyOrTextualNull

    @Deprecated
    protected boolean _isEmptyOrTextualNull(String value)

Deprecated.

#### findDeserializer

    protected JsonDeserializer<Object> findDeserializer(DeserializationContext ctxt,
                                                        JavaType type,
                                                        BeanProperty property)
                                                 throws JsonMappingException

Helper method used to locate deserializers for properties the type this deserializer handles contains (usually for properties of bean types)

Parameters:
  `type` - Type of property to deserialize
  `property` - Actual property object (field, method, constuctor parameter) used for passing deserialized values; provided so deserializer can be contextualized if necessary
Throws:
  `JsonMappingException`

#### _isIntNumber

    protected final boolean _isIntNumber(String text)

Helper method to check whether given text refers to what looks like a clean simple integer number, consisting of optional sign followed by a sequence of digits.

Note that definition is quite loose as leading zeroes are allowed, in addition to plus sign (not just minus).

#### findConvertingContentDeserializer

    protected JsonDeserializer<?> findConvertingContentDeserializer(DeserializationContext ctxt,
                                                                    BeanProperty prop,
                                                                    JsonDeserializer<?> existingDeserializer)
                                                             throws JsonMappingException

Helper method that can be used to see if specified property has annotation indicating that a converter is to be used for contained values (contents of structured types; array/List/Map values)

Parameters:
  `existingDeserializer` - (optional) configured content serializer if one already exists.
Throws:
  `JsonMappingException`
Since:
  2.2

#### findFormatOverrides

    protected com.fasterxml.jackson.annotation.JsonFormat.Value findFormatOverrides(DeserializationContext ctxt,
                                                                                    BeanProperty prop,
                                                                                    Class<?> typeForDefaults)

Helper method that may be used to find if this deserializer has specific `JsonFormat` settings, either via property, or through type-specific defaulting.

Parameters:
  `typeForDefaults` - Type (erased) used for finding default format settings, if any
Since:
  2.7

#### findFormatFeature

    protected Boolean findFormatFeature(DeserializationContext ctxt,
                                        BeanProperty prop,
                                        Class<?> typeForDefaults,
                                        com.fasterxml.jackson.annotation.JsonFormat.Feature feat)

Convenience method that uses `findFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.BeanProperty, java.lang.Class<?>)` to find possible defaults and/of overrides, and then calls `JsonFormat.Value.getFeature(feat)` to find whether that feature has been specifically marked as enabled or disabled.

Parameters:
  `typeForDefaults` - Type (erased) used for finding default format settings, if any
Since:
  2.7

#### findValueNullProvider

    protected final NullValueProvider findValueNullProvider(DeserializationContext ctxt,
                                                            SettableBeanProperty prop,
                                                            PropertyMetadata propMetadata)
                                                     throws JsonMappingException

Method called to find `NullValueProvider` for a primary property, using "value nulls" setting. If no provider found (not defined, or is "skip"), will return `null`.

Throws:
  `JsonMappingException`
Since:
  2.9

#### findContentNullProvider

    protected NullValueProvider findContentNullProvider(DeserializationContext ctxt,
                                                        BeanProperty prop,
                                                        JsonDeserializer<?> valueDeser)
                                                 throws JsonMappingException

Method called to find `NullValueProvider` for a contents of a structured primary property (Collection, Map, array), using "content nulls" setting. If no provider found (not defined), will return given value deserializer (which is a null value provider itself).

Throws:
  `JsonMappingException`
Since:
  2.9

#### findContentNullStyle

    protected com.fasterxml.jackson.annotation.Nulls findContentNullStyle(DeserializationContext ctxt,
                                                                          BeanProperty prop)
                                                                   throws JsonMappingException

Throws:
  `JsonMappingException`

#### _findNullProvider

    protected final NullValueProvider _findNullProvider(DeserializationContext ctxt,
                                                        BeanProperty prop,
                                                        com.fasterxml.jackson.annotation.Nulls nulls,
                                                        JsonDeserializer<?> valueDeser)
                                                 throws JsonMappingException

Throws:
  `JsonMappingException`

#### _findCoercionFromEmptyString

    protected CoercionAction _findCoercionFromEmptyString(DeserializationContext ctxt)

#### _findCoercionFromEmptyArray

    protected CoercionAction _findCoercionFromEmptyArray(DeserializationContext ctxt)

#### _findCoercionFromBlankString

    protected CoercionAction _findCoercionFromBlankString(DeserializationContext ctxt)

#### handleUnknownProperty

    protected void handleUnknownProperty(com.fasterxml.jackson.core.JsonParser p,
                                         DeserializationContext ctxt,
                                         Object instanceOrClass,
                                         String propName)
                                  throws IOException

Method called to deal with a property that did not map to a known Bean property. Method can deal with the problem as it sees fit (ignore, throw exception); but if it does return, it has to skip the matching Json content parser has.

Parameters:
  `p` - Parser that points to value of the unknown property
  `ctxt` - Context for deserialization; allows access to the parser, error reporting functionality
  `instanceOrClass` - Instance that is being populated by this deserializer, or if not known, Class that would be instantiated. If null, will assume type is what `getValueClass()` returns.
  `propName` - Name of the property that cannot be mapped
Throws:
  `IOException`

#### handleMissingEndArrayForSingle

    protected void handleMissingEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p,
                                                  DeserializationContext ctxt)
                                           throws IOException

Throws:
  `IOException`

#### handleNestedArrayForSingle

    protected Object handleNestedArrayForSingle(com.fasterxml.jackson.core.JsonParser p,
                                                DeserializationContext ctxt)
                                         throws IOException

Helper method called when detecting a deep(er) nesting of Arrays when trying to unwrap value for `DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS`.

Throws:
  `IOException`
Since:
  2.14

#### _verifyEndArrayForSingle

    protected void _verifyEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p,
                                            DeserializationContext ctxt)
                                     throws IOException

Throws:
  `IOException`

#### _neitherNull

    protected static final boolean _neitherNull(Object a,
                                                Object b)

Since:
  2.9

#### _byteOverflow

    protected final boolean _byteOverflow(int value)

Since:
  2.9

#### _shortOverflow

    protected final boolean _shortOverflow(int value)

Since:
  2.9

#### _intOverflow

    protected final boolean _intOverflow(long value)

Since:
  2.9

#### _nonNullNumber

    protected Number _nonNullNumber(Number n)

Since:
  2.9