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
,java.io.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 java.io.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 Modifier and Type Field Description protected java.lang.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 asObject
in some case)protected JavaType
_valueType
protected static int
F_MASK_ACCEPT_ARRAYS
Deprecated.protected static int
F_MASK_INT_COERCIONS
Bitmask that coversDeserializationFeature.USE_BIG_INTEGER_FOR_INTS
andDeserializationFeature.USE_LONG_FOR_INTS
, used for more efficient cheks when coercing integral values for untyped deserialization.
-
Constructor Summary
Constructors Modifier Constructor Description protected
StdDeserializer(StdDeserializer<?> src)
Copy-constructor for sub-classes to use, most often when creating new instances forContextualDeserializer
.protected
StdDeserializer(JavaType valueType)
protected
StdDeserializer(java.lang.Class<?> vc)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected boolean
_byteOverflow(int value)
protected CoercionAction
_checkCoercionFail(DeserializationContext ctxt, CoercionAction act, java.lang.Class<?> targetType, java.lang.Object inputValue, java.lang.String inputDesc)
protected java.lang.Double
_checkDoubleSpecialValue(java.lang.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 returnsnull
.protected java.lang.Float
_checkFloatSpecialValue(java.lang.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 returnsnull
.protected CoercionAction
_checkFloatToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType)
protected CoercionAction
_checkFromStringCoercion(DeserializationContext ctxt, java.lang.String value)
protected CoercionAction
_checkFromStringCoercion(DeserializationContext ctxt, java.lang.String value, LogicalType logicalType, java.lang.Class<?> rawTargetType)
protected boolean
_checkTextualNull(DeserializationContext ctxt, java.lang.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 notprotected java.lang.Boolean
_coerceBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType)
protected java.lang.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 java.lang.Object
_coerceEmptyString(DeserializationContext ctxt, boolean isPrimitive)
Deprecated.Since 2.12protected java.lang.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 likeLong
orBigInteger
protected java.lang.Object
_coerceNullToken(DeserializationContext ctxt, boolean isPrimitive)
Deprecated.protected java.lang.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 byCoercionConfigs
(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.12protected java.lang.Object
_deserializeFromEmptyString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, CoercionAction act, java.lang.Class<?> rawTargetType, java.lang.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 supportDeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS
: default implementation simply callsJsonDeserializer.deserialize(JsonParser, DeserializationContext)
, but handling may be overridden.protected void
_failDoubleToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.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(java.lang.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(java.lang.String text)
protected boolean
_isEmptyOrTextualNull(java.lang.String value)
Deprecated.protected boolean
_isFalse(java.lang.String text)
protected boolean
_isIntNumber(java.lang.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(java.lang.String text)
protected boolean
_isNegInf(java.lang.String text)
protected boolean
_isPosInf(java.lang.String text)
protected boolean
_isTrue(java.lang.String text)
protected static boolean
_neitherNull(java.lang.Object a, java.lang.Object b)
protected java.lang.Number
_nonNullNumber(java.lang.Number n)
protected java.lang.Boolean
_parseBoolean(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType)
Helper method called for cases where non-primitive, boolean-based value is to be deserialized: result of this method will beBoolean
, although actual target type may be something different.protected boolean
_parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
Deprecated.protected boolean
_parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected boolean
_parseBooleanPrimitive(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p, java.lang.Class<?> targetType)
Deprecated.protected byte
_parseBytePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected java.util.Date
_parseDate(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected java.util.Date
_parseDate(java.lang.String value, DeserializationContext ctxt)
protected java.util.Date
_parseDateFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected static double
_parseDouble(java.lang.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 double
_parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected double
_parseDoublePrimitive(DeserializationContext ctxt, java.lang.String text)
protected float
_parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected float
_parseFloatPrimitive(DeserializationContext ctxt, java.lang.String text)
protected java.lang.Integer
_parseInteger(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType)
protected int
_parseIntPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected int
_parseIntPrimitive(DeserializationContext ctxt, java.lang.String text)
protected java.lang.Long
_parseLong(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType)
protected long
_parseLongPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected long
_parseLongPrimitive(DeserializationContext ctxt, java.lang.String text)
protected short
_parseShortPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected java.lang.String
_parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
Helper method used for accessing String value, if possible, doing necessary conversion or throwing exception as necessary.protected void
_reportFailedNullCoerce(DeserializationContext ctxt, boolean state, java.lang.Enum<?> feature, java.lang.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 thatnull
token from input is acceptable for primitive (unboxed) target type.protected void
_verifyNullForPrimitiveCoercion(DeserializationContext ctxt, java.lang.String str)
Method called to verify that text value"null"
from input is acceptable for primitive (unboxed) target type.protected void
_verifyNullForScalarCoercion(DeserializationContext ctxt, java.lang.String str)
Deprecated.protected void
_verifyNumberForScalarCoercion(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p)
Deprecated.protected void
_verifyStringForScalarCoercion(DeserializationContext ctxt, java.lang.String str)
Deprecated.java.lang.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 findNullValueProvider
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<java.lang.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 java.lang.Boolean
findFormatFeature(DeserializationContext ctxt, BeanProperty prop, java.lang.Class<?> typeForDefaults, com.fasterxml.jackson.annotation.JsonFormat.Feature feat)
Convenience method that usesfindFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.BeanProperty, java.lang.Class<?>)
to find possible defaults and/of overrides, and then callsJsonFormat.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, java.lang.Class<?> typeForDefaults)
Helper method that may be used to find if this deserializer has specificJsonFormat
settings, either via property, or through type-specific defaulting.protected NullValueProvider
findValueNullProvider(DeserializationContext ctxt, SettableBeanProperty prop, PropertyMetadata propMetadata)
Method called to findNullValueProvider
for a primary property, using "value nulls" setting.java.lang.Class<?>
getValueClass()
Deprecated.Since 2.3 usehandledType()
insteadValueInstantiator
getValueInstantiator()
JavaType
getValueType()
Exact structured type this deserializer handles, if known.JavaType
getValueType(DeserializationContext ctxt)
Convenience method for getting handled type asJavaType
, regardless of whether deserializer has one already resolved (and accessible viagetValueType()
) or not: equivalent to:java.lang.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 void
handleUnknownProperty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Object instanceOrClass, java.lang.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, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer
-
-
-
-
Field Detail
-
F_MASK_INT_COERCIONS
protected static final int F_MASK_INT_COERCIONS
Bitmask that coversDeserializationFeature.USE_BIG_INTEGER_FOR_INTS
andDeserializationFeature.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 java.lang.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 asObject
in some case)
-
_valueType
protected final JavaType _valueType
-
-
Constructor Detail
-
StdDeserializer
protected StdDeserializer(java.lang.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 forContextualDeserializer
.- Since:
- 2.5
-
-
Method Detail
-
handledType
public java.lang.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 classJsonDeserializer<T>
- Returns:
- Physical type of values this deserializer produces, if known;
null
if not
-
getValueClass
@Deprecated public final java.lang.Class<?> getValueClass()
Deprecated.Since 2.3 usehandledType()
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 asJavaType
, regardless of whether deserializer has one already resolved (and accessible viagetValueType()
) or not: equivalent to:if (getValueType() != null) { return getValueType(); } return ctxt.constructType(handledType());
- Since:
- 2.10
-
getValueInstantiator
public ValueInstantiator getValueInstantiator()
- Specified by:
getValueInstantiator
in interfaceValueInstantiator.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 usingJacksonStdImpl
annotation on deserializer class.
-
isDefaultKeyDeserializer
protected boolean isDefaultKeyDeserializer(KeyDeserializer keyDeser)
-
deserializeWithType
public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer) throws java.io.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 classJsonDeserializer<T>
typeDeserializer
- Deserializer to use for handling type information- Throws:
java.io.IOException
-
_deserializeFromArray
protected T _deserializeFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.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 byCoercionConfigs
(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 callsJsonDeserializer.deserialize(JsonParser, DeserializationContext)
.- Throws:
java.io.IOException
- Since:
- 2.9
-
_deserializeFromEmpty
@Deprecated protected T _deserializeFromEmpty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
Deprecated.Since 2.12Helper method that may be used to support fallback for Empty String / Empty Array non-standard representations; usually for things serialized as JSON Objects.- Throws:
java.io.IOException
- Since:
- 2.5
-
_deserializeFromString
protected T _deserializeFromString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.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:
java.io.IOException
- Since:
- 2.12
-
_deserializeFromEmptyString
protected java.lang.Object _deserializeFromEmptyString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, CoercionAction act, java.lang.Class<?> rawTargetType, java.lang.String desc) throws java.io.IOException
- Throws:
java.io.IOException
-
_deserializeWrappedValue
protected T _deserializeWrappedValue(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
Helper called to supportDeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS
: default implementation simply callsJsonDeserializer.deserialize(JsonParser, DeserializationContext)
, but handling may be overridden.- Throws:
java.io.IOException
- Since:
- 2.9
-
_parseBooleanPrimitive
@Deprecated protected final boolean _parseBooleanPrimitive(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p, java.lang.Class<?> targetType) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
_parseBooleanPrimitive
protected final boolean _parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Parameters:
ctxt
- Deserialization context for accessing configurationp
- Underlying parser- Throws:
java.io.IOException
-
_isTrue
protected boolean _isTrue(java.lang.String text)
-
_isFalse
protected boolean _isFalse(java.lang.String text)
-
_parseBoolean
protected final java.lang.Boolean _parseBoolean(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType) throws java.io.IOException
Helper method called for cases where non-primitive, boolean-based value is to be deserialized: result of this method will beBoolean
, 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 parserctxt
- Deserialization context for accessing configurationtargetType
- Actual type that is being deserialized, may be same ashandledType()
but could beAtomicBoolean
for example. Used for coercion config access.- Throws:
java.io.IOException
- Since:
- 2.12
-
_parseBytePrimitive
protected final byte _parseBytePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseShortPrimitive
protected final short _parseShortPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseIntPrimitive
protected final int _parseIntPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseIntPrimitive
protected final int _parseIntPrimitive(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.9
-
_parseInteger
protected final java.lang.Integer _parseInteger(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_parseLongPrimitive
protected final long _parseLongPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseLongPrimitive
protected final long _parseLongPrimitive(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.9
-
_parseLong
protected final java.lang.Long _parseLong(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_parseFloatPrimitive
protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseFloatPrimitive
protected final float _parseFloatPrimitive(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.9
-
_checkFloatSpecialValue
protected java.lang.Float _checkFloatSpecialValue(java.lang.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 returnsnull
.- 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 java.io.IOException
- Throws:
java.io.IOException
-
_parseDoublePrimitive
protected final double _parseDoublePrimitive(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.9
-
_parseDouble
protected static final double _parseDouble(java.lang.String numStr) throws java.lang.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:
java.lang.NumberFormatException
-
_checkDoubleSpecialValue
protected java.lang.Double _checkDoubleSpecialValue(java.lang.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 returnsnull
.- 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 java.util.Date _parseDate(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseDateFromArray
protected java.util.Date _parseDateFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseDate
protected java.util.Date _parseDate(java.lang.String value, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.8
-
_parseString
protected final java.lang.String _parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
Helper method used for accessing String value, if possible, doing necessary conversion or throwing exception as necessary.- Throws:
java.io.IOException
- Since:
- 2.1
-
_hasTextualNull
protected boolean _hasTextualNull(java.lang.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(java.lang.String text)
-
_isPosInf
protected final boolean _isPosInf(java.lang.String text)
-
_isNaN
protected final boolean _isNaN(java.lang.String text)
-
_isBlank
protected static final boolean _isBlank(java.lang.String text)
-
_checkFromStringCoercion
protected CoercionAction _checkFromStringCoercion(DeserializationContext ctxt, java.lang.String value) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_checkFromStringCoercion
protected CoercionAction _checkFromStringCoercion(DeserializationContext ctxt, java.lang.String value, LogicalType logicalType, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_checkFloatToIntCoercion
protected CoercionAction _checkFloatToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_coerceBooleanFromInt
protected java.lang.Boolean _coerceBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_checkCoercionFail
protected CoercionAction _checkCoercionFail(DeserializationContext ctxt, CoercionAction act, java.lang.Class<?> targetType, java.lang.Object inputValue, java.lang.String inputDesc) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 2.12
-
_checkTextualNull
protected boolean _checkTextualNull(DeserializationContext ctxt, java.lang.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 java.lang.Object _coerceIntegral(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.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 likeLong
orBigInteger
- Throws:
java.io.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 thatnull
token from input is acceptable for primitive (unboxed) target type. It should NOT be called ifnull
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, java.lang.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 actualnull
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, java.lang.Enum<?> feature, java.lang.String inputDesc) throws JsonMappingException
- Throws:
JsonMappingException
-
_coercedTypeDesc
protected java.lang.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
-
_parseBooleanFromInt
@Deprecated protected boolean _parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
_verifyStringForScalarCoercion
@Deprecated protected void _verifyStringForScalarCoercion(DeserializationContext ctxt, java.lang.String str) throws JsonMappingException
Deprecated.- Throws:
JsonMappingException
-
_coerceEmptyString
@Deprecated protected java.lang.Object _coerceEmptyString(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
Deprecated.Since 2.12Method 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, java.lang.String type) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
_verifyNullForScalarCoercion
@Deprecated protected final void _verifyNullForScalarCoercion(DeserializationContext ctxt, java.lang.String str) throws JsonMappingException
Deprecated.- Throws:
JsonMappingException
-
_verifyNumberForScalarCoercion
@Deprecated protected void _verifyNumberForScalarCoercion(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
_coerceNullToken
@Deprecated protected java.lang.Object _coerceNullToken(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
Deprecated.- Throws:
JsonMappingException
-
_coerceTextualNull
@Deprecated protected java.lang.Object _coerceTextualNull(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
Deprecated.- Throws:
JsonMappingException
-
_isEmptyOrTextualNull
@Deprecated protected boolean _isEmptyOrTextualNull(java.lang.String value)
Deprecated.
-
findDeserializer
protected JsonDeserializer<java.lang.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 deserializeproperty
- 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(java.lang.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, java.lang.Class<?> typeForDefaults)
Helper method that may be used to find if this deserializer has specificJsonFormat
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 java.lang.Boolean findFormatFeature(DeserializationContext ctxt, BeanProperty prop, java.lang.Class<?> typeForDefaults, com.fasterxml.jackson.annotation.JsonFormat.Feature feat)
Convenience method that usesfindFormatOverrides(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.BeanProperty, java.lang.Class<?>)
to find possible defaults and/of overrides, and then callsJsonFormat.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 findNullValueProvider
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 findNullValueProvider
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, java.lang.Object instanceOrClass, java.lang.String propName) throws java.io.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 propertyctxt
- Context for deserialization; allows access to the parser, error reporting functionalityinstanceOrClass
- Instance that is being populated by this deserializer, or if not known, Class that would be instantiated. If null, will assume type is whatgetValueClass()
returns.propName
- Name of the property that cannot be mapped- Throws:
java.io.IOException
-
handleMissingEndArrayForSingle
protected void handleMissingEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_verifyEndArrayForSingle
protected void _verifyEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_neitherNull
protected static final boolean _neitherNull(java.lang.Object a, java.lang.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 java.lang.Number _nonNullNumber(java.lang.Number n)
- Since:
- 2.9
-
-