Class StdDeserializer<T>
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
-
- All Implemented Interfaces:
NullValueProvider
,java.io.Serializable
- Direct Known Subclasses:
BeanDeserializerBase
,ContainerDeserializerBase
,DelegatingDeserializer
,EnumSetDeserializer
,FailingDeserializer
,JsonNodeDeserializer
,NullifyingDeserializer
,PrimitiveArrayDeserializers
,ReferenceTypeDeserializer
,StdDelegatingDeserializer
,StdNodeBasedDeserializer
,StdScalarDeserializer
,StringArrayDeserializer
,UntypedObjectDeserializer
,UntypedObjectDeserializer.Vanilla
public abstract class StdDeserializer<T> extends JsonDeserializer<T> implements java.io.Serializable
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
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 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)
Method called when JSON String with value "" (that is, zero length) is encountered.protected 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)
Method to call when JSON `null` token is encountered.protected java.lang.Object
_coerceTextualNull(DeserializationContext ctxt, boolean isPrimitive)
Method called when JSON String with value "null" is encountered.protected T
_deserializeFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
Helper method that allows easy support for array-relatedDeserializationFeature
s `ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT` and `UNWRAP_SINGLE_VALUE_ARRAYS`: checks for either empty array, or single-value array-wrapped value (respectively), and either reports an exception (if no match, or feature(s) not enabled), or returns appropriate result value.protected T
_deserializeFromEmpty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
Helper method that may be used to support fallback for Empty String / Empty Array non-standard representations; usually for things serialized as JSON Objects.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)
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 boolean
_isEmptyOrTextualNull(java.lang.String value)
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 static boolean
_neitherNull(java.lang.Object a, java.lang.Object b)
protected java.lang.Number
_nonNullNumber(java.lang.Number n)
protected boolean
_parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected boolean
_parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
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 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 int
_parseIntPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
protected int
_parseIntPrimitive(DeserializationContext ctxt, java.lang.String text)
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)
protected void
_verifyNullForPrimitiveCoercion(DeserializationContext ctxt, java.lang.String str)
protected void
_verifyNullForScalarCoercion(DeserializationContext ctxt, java.lang.String str)
protected void
_verifyNumberForScalarCoercion(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p)
protected void
_verifyStringForScalarCoercion(DeserializationContext ctxt, java.lang.String str)
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()
insteadJavaType
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 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)
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.-
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserialize, deserializeWithType, findBackReference, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, 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
protected static final int F_MASK_ACCEPT_ARRAYS
-
_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 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>
-
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
-
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
-
_parseBooleanPrimitive
protected final boolean _parseBooleanPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_parseBooleanFromInt
protected boolean _parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
_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
-
_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
-
_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
-
_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
-
_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
-
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
-
_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
-
_deserializeFromEmpty
protected T _deserializeFromEmpty(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
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:
java.io.IOException
- Since:
- 2.5
-
_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
-
_isEmptyOrTextualNull
protected boolean _isEmptyOrTextualNull(java.lang.String value)
- Since:
- 2.9
-
_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)
-
_deserializeFromArray
protected T _deserializeFromArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException
Helper method that allows easy support for array-relatedDeserializationFeature
s `ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT` and `UNWRAP_SINGLE_VALUE_ARRAYS`: checks for either empty array, or single-value array-wrapped value (respectively), and either reports an exception (if no match, or feature(s) not enabled), or returns appropriate result value.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
-
_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
-
_failDoubleToIntCoercion
protected void _failDoubleToIntCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.String type) throws java.io.IOException
- Throws:
java.io.IOException
-
_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
-
_coerceNullToken
protected java.lang.Object _coerceNullToken(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
Method to call when JSON `null` token is encountered. Note: only called when this deserializer encounters it but NOT when reached via property- Throws:
JsonMappingException
- Since:
- 2.9
-
_coerceTextualNull
protected java.lang.Object _coerceTextualNull(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
Method called when JSON String with value "null" is encountered.- Throws:
JsonMappingException
- Since:
- 2.9
-
_coerceEmptyString
protected java.lang.Object _coerceEmptyString(DeserializationContext ctxt, boolean isPrimitive) throws JsonMappingException
Method called when JSON String with value "" (that is, zero length) is encountered.- Throws:
JsonMappingException
- Since:
- 2.9
-
_verifyNullForPrimitive
protected final void _verifyNullForPrimitive(DeserializationContext ctxt) throws JsonMappingException
- Throws:
JsonMappingException
-
_verifyNullForPrimitiveCoercion
protected final void _verifyNullForPrimitiveCoercion(DeserializationContext ctxt, java.lang.String str) throws JsonMappingException
- Throws:
JsonMappingException
-
_verifyNullForScalarCoercion
protected final void _verifyNullForScalarCoercion(DeserializationContext ctxt, java.lang.String str) throws JsonMappingException
- Throws:
JsonMappingException
-
_verifyStringForScalarCoercion
protected void _verifyStringForScalarCoercion(DeserializationContext ctxt, java.lang.String str) throws JsonMappingException
- Throws:
JsonMappingException
-
_verifyNumberForScalarCoercion
protected void _verifyNumberForScalarCoercion(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser p) throws java.io.IOException
- Throws:
java.io.IOException
-
_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
-
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.
-
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
-
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
-
-