public abstract class StdDeserializer<T> extends JsonDeserializer<T> implements Serializable, ValueInstantiator.Gettable
JsonDeserializer.None
Modifier and Type | Field and Description |
---|---|
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. |
Modifier | Constructor and Description |
---|---|
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 . |
Modifier and Type | Method and Description |
---|---|
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 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,
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) |
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.
|
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 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,
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 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: |
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) |
deserialize, deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer
protected static final int F_MASK_INT_COERCIONS
DeserializationFeature.USE_BIG_INTEGER_FOR_INTS
and DeserializationFeature.USE_LONG_FOR_INTS
, used for more efficient
cheks when coercing integral values for untyped deserialization.@Deprecated protected static final int F_MASK_ACCEPT_ARRAYS
protected final Class<?> _valueClass
Object
in some case)protected final JavaType _valueType
protected StdDeserializer(Class<?> vc)
protected StdDeserializer(JavaType valueType)
protected StdDeserializer(StdDeserializer<?> src)
ContextualDeserializer
.public Class<?> handledType()
JsonDeserializer
Default implementation will return null, which means almost same
same as returning Object.class
would; that is, that
nothing is known about handled type.
handledType
in class JsonDeserializer<T>
null
if not@Deprecated public final Class<?> getValueClass()
handledType()
insteadpublic JavaType getValueType()
public JavaType getValueType(DeserializationContext ctxt)
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());
public ValueInstantiator getValueInstantiator()
getValueInstantiator
in interface ValueInstantiator.Gettable
protected boolean isDefaultDeserializer(JsonDeserializer<?> deserializer)
JacksonStdImpl
annotation on deserializer class.protected boolean isDefaultKeyDeserializer(KeyDeserializer keyDeser)
public Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer) throws IOException
deserializeWithType
in class JsonDeserializer<T>
typeDeserializer
- Deserializer to use for handling type informationIOException
protected T _deserializeFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
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)
.
IOException
@Deprecated protected T _deserializeFromEmpty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected T _deserializeFromString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected Object _deserializeFromEmptyString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, CoercionAction act, Class<?> rawTargetType, String desc) throws IOException
IOException
protected T _deserializeWrappedValue(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS
:
default implementation simply calls
JsonDeserializer.deserialize(JsonParser, DeserializationContext)
,
but handling may be overridden.IOException
@Deprecated protected final boolean _parseBooleanPrimitive(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p, Class<?> targetType) throws IOException
IOException
protected final boolean _parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
ctxt
- Deserialization context for accessing configurationp
- Underlying parserIOException
protected boolean _isTrue(String text)
protected boolean _isFalse(String text)
protected final Boolean _parseBoolean(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> targetType) throws IOException
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.
p
- Underlying parserctxt
- Deserialization context for accessing configurationtargetType
- Actual type that is being deserialized, may be
same as handledType()
but could be AtomicBoolean
for example.
Used for coercion config access.IOException
protected final byte _parseBytePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final short _parseShortPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final int _parseIntPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final int _parseIntPrimitive(DeserializationContext ctxt, String text) throws IOException
IOException
protected final Integer _parseInteger(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> targetType) throws IOException
IOException
protected final Integer _parseInteger(DeserializationContext ctxt, String text) throws IOException
IOException
protected final long _parseLongPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final long _parseLongPrimitive(DeserializationContext ctxt, String text) throws IOException
IOException
protected final Long _parseLong(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> targetType) throws IOException
IOException
protected final Long _parseLong(DeserializationContext ctxt, String text) throws IOException
IOException
protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final float _parseFloatPrimitive(DeserializationContext ctxt, String text) throws IOException
IOException
protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, String text) throws IOException
IOException
protected Float _checkFloatSpecialValue(String text)
null
.text
- String value to checkFloat
constants referring to special value decoded,
if value matched; null
otherwise.protected final double _parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final double _parseDoublePrimitive(DeserializationContext ctxt, String text) throws IOException
IOException
protected final double _parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, String text) throws IOException
IOException
protected static final double _parseDouble(String numStr) throws NumberFormatException
useFastParser
support.NumberFormatException
_parseDouble(String, boolean)
protected static final double _parseDouble(String numStr, boolean useFastParser) throws NumberFormatException
NumberFormatException
protected Double _checkDoubleSpecialValue(String text)
null
.text
- String value to checkDouble
constants referring to special value decoded,
if value matched; null
otherwise.protected Date _parseDate(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected Date _parseDateFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected Date _parseDate(String value, DeserializationContext ctxt) throws IOException
IOException
@Deprecated protected final String _parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final String _parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, NullValueProvider nullProvider) throws IOException
Starting with 2.14 will also start checking CoercionConfig
configuration to check whether coercion needed is allowed.
p
- Currently active parser being iterated overctxt
- Deserialization contextnullProvider
- Entity we (only) need for case of secondary value
type being coerced into null
: if so, provider is asked for
possible "null replacement" value.IOException
protected boolean _hasTextualNull(String value)
protected final boolean _isNegInf(String text)
protected final boolean _isPosInf(String text)
protected final boolean _isNaN(String text)
protected static final boolean _isBlank(String text)
protected CoercionAction _checkFromStringCoercion(DeserializationContext ctxt, String value) throws IOException
IOException
protected CoercionAction _checkFromStringCoercion(DeserializationContext ctxt, String value, LogicalType logicalType, Class<?> rawTargetType) throws IOException
IOException
protected CoercionAction _checkFloatToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType) throws IOException
IOException
protected CoercionAction _checkIntToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType) throws IOException
IOException
protected CoercionAction _checkFloatToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType) throws IOException
IOException
protected CoercionAction _checkBooleanToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType) throws IOException
IOException
protected CoercionAction _checkToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType, Object inputValue, CoercionInputShape inputShape) throws IOException
IOException
protected CoercionAction _checkIntToFloatCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType) throws IOException
IOException
protected Boolean _coerceBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Class<?> rawTargetType) throws IOException
IOException
protected CoercionAction _checkCoercionFail(DeserializationContext ctxt, CoercionAction act, Class<?> targetType, Object inputValue, String inputDesc) throws IOException
IOException
protected boolean _checkTextualNull(DeserializationContext ctxt, String text) throws JsonMappingException
"null"
, and if so,
whether it is acceptable according to configuration or notJsonMappingException
protected Object _coerceIntegral(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
Number
into "bigger" type like Long
or
BigInteger
IOException
DeserializationFeature.USE_BIG_INTEGER_FOR_INTS
,
DeserializationFeature.USE_LONG_FOR_INTS
protected final void _verifyNullForPrimitive(DeserializationContext ctxt) throws JsonMappingException
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).JsonMappingException
protected final void _verifyNullForPrimitiveCoercion(DeserializationContext ctxt, String str) throws JsonMappingException
"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.JsonMappingException
protected void _reportFailedNullCoerce(DeserializationContext ctxt, boolean state, Enum<?> feature, String inputDesc) throws JsonMappingException
JsonMappingException
protected String _coercedTypeDesc()
@Deprecated protected boolean _parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
@Deprecated protected void _verifyStringForScalarCoercion(DeserializationContext ctxt, String str) throws JsonMappingException
_checkFromStringCoercion(com.fasterxml.jackson.databind.DeserializationContext, java.lang.String)
insteadJsonMappingException
@Deprecated protected Object _coerceEmptyString(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
JsonMappingException
@Deprecated protected void _failDoubleToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, String type) throws IOException
IOException
@Deprecated protected final void _verifyNullForScalarCoercion(DeserializationContext ctxt, String str) throws JsonMappingException
JsonMappingException
@Deprecated protected void _verifyNumberForScalarCoercion(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p) throws IOException
IOException
@Deprecated protected Object _coerceNullToken(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
JsonMappingException
@Deprecated protected Object _coerceTextualNull(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
JsonMappingException
@Deprecated protected boolean _isEmptyOrTextualNull(String value)
protected JsonDeserializer<Object> findDeserializer(DeserializationContext ctxt, JavaType type, BeanProperty property) throws JsonMappingException
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 necessaryJsonMappingException
protected final boolean _isIntNumber(String text)
Note that definition is quite loose as leading zeroes are allowed, in addition to plus sign (not just minus).
protected JsonDeserializer<?> findConvertingContentDeserializer(DeserializationContext ctxt, BeanProperty prop, JsonDeserializer<?> existingDeserializer) throws JsonMappingException
existingDeserializer
- (optional) configured content
serializer if one already exists.JsonMappingException
protected JsonFormat.Value findFormatOverrides(DeserializationContext ctxt, BeanProperty prop, Class<?> typeForDefaults)
JsonFormat
settings, either via property, or through type-specific
defaulting.typeForDefaults
- Type (erased) used for finding default format settings, if anyprotected Boolean findFormatFeature(DeserializationContext ctxt, BeanProperty prop, Class<?> typeForDefaults, JsonFormat.Feature feat)
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.typeForDefaults
- Type (erased) used for finding default format settings, if anyprotected final NullValueProvider findValueNullProvider(DeserializationContext ctxt, SettableBeanProperty prop, PropertyMetadata propMetadata) throws JsonMappingException
NullValueProvider
for a primary property, using
"value nulls" setting. If no provider found (not defined, or is "skip"),
will return `null`.JsonMappingException
protected NullValueProvider findContentNullProvider(DeserializationContext ctxt, BeanProperty prop, JsonDeserializer<?> valueDeser) throws JsonMappingException
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).JsonMappingException
protected Nulls findContentNullStyle(DeserializationContext ctxt, BeanProperty prop) throws JsonMappingException
JsonMappingException
protected final NullValueProvider _findNullProvider(DeserializationContext ctxt, BeanProperty prop, Nulls nulls, JsonDeserializer<?> valueDeser) throws JsonMappingException
JsonMappingException
protected CoercionAction _findCoercionFromEmptyString(DeserializationContext ctxt)
protected CoercionAction _findCoercionFromEmptyArray(DeserializationContext ctxt)
protected CoercionAction _findCoercionFromBlankString(DeserializationContext ctxt)
protected void handleUnknownProperty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, Object instanceOrClass, String propName) throws IOException
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 what getValueClass()
returns.propName
- Name of the property that cannot be mappedIOException
protected void handleMissingEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected Object handleNestedArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS
.IOException
protected void _verifyEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
IOException
protected final boolean _byteOverflow(int value)
protected final boolean _shortOverflow(int value)
protected final boolean _intOverflow(long value)
Copyright © 2008–2022 FasterXML. All rights reserved.