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<?>_valueClassType of values this deserializer handles: sometimes exact types, other time most specific supertype of types deserializer handles (which may be as generic asObjectin some case)protected JavaType_valueTypeprotected static intF_MASK_ACCEPT_ARRAYSDeprecated.protected static intF_MASK_INT_COERCIONSBitmask that coversDeserializationFeature.USE_BIG_INTEGER_FOR_INTSandDeserializationFeature.USE_LONG_FOR_INTS, used for more efficient cheks when coercing integral values for untyped deserialization.
-
Constructor Summary
Constructors Modifier Constructor Description protectedStdDeserializer(StdDeserializer<?> src)Copy-constructor for sub-classes to use, most often when creating new instances forContextualDeserializer.protectedStdDeserializer(JavaType valueType)protectedStdDeserializer(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_checkBooleanToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType)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_checkFloatToStringCoercion(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 CoercionAction_checkIntToFloatCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType)protected CoercionAction_checkIntToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, 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 CoercionAction_checkToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType, java.lang.Object inputValue, CoercionInputShape inputShape)protected 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.String_coercedTypeDesc(java.lang.Class<?> rawTargetType)Helper method called to get a description of type into which a scalar value coercion is being applied, to be used for constructing exception messages on coerce failure.protected 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"Numberinto "bigger" type likeLongorBigIntegerprotected 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 static double_parseDouble(java.lang.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(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)protected double_parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.String text)protected double_parseDoublePrimitive(DeserializationContext ctxt, java.lang.String text)protected float_parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)protected float_parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.String text)protected float_parseFloatPrimitive(DeserializationContext ctxt, java.lang.String text)Deprecated.protected java.lang.Integer_parseInteger(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType)protected java.lang.Integer_parseInteger(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 java.lang.Long_parseLong(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> targetType)protected java.lang.Long_parseLong(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)Deprecated.Since 2.14 (use the non-deprecated overload)protected java.lang.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, 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 thatnulltoken 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.ObjectdeserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer)Base implementation that does not assume specific type inclusion mechanism.protected NullValueProviderfindContentNullProvider(DeserializationContext ctxt, BeanProperty prop, JsonDeserializer<?> valueDeser)Method called to findNullValueProviderfor a contents of a structured primary property (Collection, Map, array), using "content nulls" setting.protected com.fasterxml.jackson.annotation.NullsfindContentNullStyle(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.BooleanfindFormatFeature(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.ValuefindFormatOverrides(DeserializationContext ctxt, BeanProperty prop, java.lang.Class<?> typeForDefaults)Helper method that may be used to find if this deserializer has specificJsonFormatsettings, either via property, or through type-specific defaulting.protected NullValueProviderfindValueNullProvider(DeserializationContext ctxt, SettableBeanProperty prop, PropertyMetadata propMetadata)Method called to findNullValueProviderfor a primary property, using "value nulls" setting.java.lang.Class<?>getValueClass()Deprecated.Since 2.3 usehandledType()insteadValueInstantiatorgetValueInstantiator()JavaTypegetValueType()Exact structured type this deserializer handles, if known.JavaTypegetValueType(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 voidhandleMissingEndArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)protected java.lang.ObjecthandleNestedArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)Helper method called when detecting a deep(er) nesting of Arrays when trying to unwrap value forDeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS.protected voidhandleUnknownProperty(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 booleanisDefaultDeserializer(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 booleanisDefaultKeyDeserializer(KeyDeserializer keyDeser)-
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer
-
-
-
-
Field Detail
-
F_MASK_INT_COERCIONS
protected static final int F_MASK_INT_COERCIONS
Bitmask that coversDeserializationFeature.USE_BIG_INTEGER_FOR_INTSandDeserializationFeature.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 asObjectin 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:JsonDeserializerMethod 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.classwould; that is, that nothing is known about handled type.- Overrides:
handledTypein classJsonDeserializer<T>- Returns:
- Physical type of values this deserializer produces, if known;
nullif 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:
getValueInstantiatorin 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 usingJacksonStdImplannotation 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.IOExceptionBase 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:
deserializeWithTypein 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.IOExceptionHelper 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 beAtomicBooleanfor 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
-
_parseInteger
protected final java.lang.Integer _parseInteger(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_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
-
_parseLong
protected final java.lang.Long _parseLong(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_parseFloatPrimitive
protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOException- Throws:
java.io.IOException
-
_parseFloatPrimitive
@Deprecated protected final float _parseFloatPrimitive(DeserializationContext ctxt, java.lang.String text) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException- Since:
- 2.9
-
_parseFloatPrimitive
protected final float _parseFloatPrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.String text) throws java.io.IOException- Throws:
java.io.IOException- Since:
- 2.14
-
_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
Floatconstants referring to special value decoded, if value matched;nullotherwise. - 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
-
_parseDoublePrimitive
protected final double _parseDoublePrimitive(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.String text) throws java.io.IOException- Throws:
java.io.IOException- Since:
- 2.14
-
_parseDouble
protected static final double _parseDouble(java.lang.String numStr) throws java.lang.NumberFormatExceptionHelper method for encapsulating calls to low-level double value parsing; single place just because we need a work-around that must be applied to all calls. Does not use the newuseFastParsersupport.- Throws:
java.lang.NumberFormatException- See Also:
_parseDouble(String, boolean)
-
_parseDouble
protected static final double _parseDouble(java.lang.String numStr, boolean useFastParser) throws java.lang.NumberFormatExceptionHelper 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- Since:
- 2.14
-
_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
Doubleconstants referring to special value decoded, if value matched;nullotherwise. - 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
@Deprecated protected final java.lang.String _parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOExceptionDeprecated.Since 2.14 (use the non-deprecated overload)- Throws:
java.io.IOException- Since:
- 2.1
-
_parseString
protected final java.lang.String _parseString(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, NullValueProvider nullProvider) throws java.io.IOExceptionHelper method used for deserializing String value, if possible, doing necessary conversion or throwing exception as necessary.Starting with 2.14 will also start checking
CoercionConfigconfiguration to check whether coercion needed is allowed.- Parameters:
p- Currently active parser being iterated overctxt- Deserialization contextnullProvider- Entity we (only) need for case of secondary value type being coerced intonull: if so, provider is asked for possible "null replacement" value.- Throws:
java.io.IOException- Since:
- 2.14 (with this signature)
-
_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
-
_checkIntToStringCoercion
protected CoercionAction _checkIntToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_checkFloatToStringCoercion
protected CoercionAction _checkFloatToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_checkBooleanToStringCoercion
protected CoercionAction _checkBooleanToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_checkToStringCoercion
protected CoercionAction _checkToStringCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType, java.lang.Object inputValue, CoercionInputShape inputShape) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_checkIntToFloatCoercion
protected CoercionAction _checkIntToFloatCoercion(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.lang.Class<?> rawTargetType) throws java.io.IOException
- Throws:
java.io.IOException- Since:
- 2.14
-
_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.IOExceptionHelper method called in case where an integral number is encountered, but config settings suggest that a coercion may be needed to "upgrade"Numberinto "bigger" type likeLongorBigInteger- 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 thatnulltoken from input is acceptable for primitive (unboxed) target type. It should NOT be called ifnullwas 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 actualnulltoken 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
-
_coercedTypeDesc
protected java.lang.String _coercedTypeDesc(java.lang.Class<?> rawTargetType)
Helper method called to get a description of type into which a scalar value coercion is being applied, to be used for constructing exception messages on coerce failure.- Returns:
- Message with backtick-enclosed name of target type
- Since:
- 2.15
-
_parseBooleanFromInt
@Deprecated protected boolean _parseBooleanFromInt(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOExceptionDeprecated.- 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.IOExceptionDeprecated.- 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 specificJsonFormatsettings, 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 findNullValueProviderfor 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 findNullValueProviderfor 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.IOExceptionMethod 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
-
handleNestedArrayForSingle
protected java.lang.Object handleNestedArrayForSingle(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws java.io.IOExceptionHelper method called when detecting a deep(er) nesting of Arrays when trying to unwrap value forDeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS.- Throws:
java.io.IOException- Since:
- 2.14
-
_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
-
-