Class ContainerDeserializerBase<T>
- All Implemented Interfaces:
NullValueProvider
,ValueInstantiator.Gettable
- Direct Known Subclasses:
CollectionDeserializer
,EnumMapDeserializer
,MapDeserializer
,MapEntryDeserializer
,ObjectArrayDeserializer
,StringCollectionDeserializer
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.jackson.databind.ValueDeserializer
ValueDeserializer.None
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final JavaType
protected final NullValueProvider
Handler we need for dealing with nulls.protected final boolean
Marker flag set if the_nullProvider
indicates that all null content values should be skipped (instead of being possibly converted).protected final Boolean
Specific override for this instance (from proper, or global per-type overrides) to indicate whether single value may be taken to mean an unwrapped one-element array or not.Fields inherited from class tools.jackson.databind.deser.std.StdDeserializer
_valueClass, _valueType, F_MASK_INT_COERCIONS
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
ContainerDeserializerBase
(ContainerDeserializerBase<?> base, NullValueProvider nuller, Boolean unwrapSingle) protected
ContainerDeserializerBase
(JavaType selfType) protected
ContainerDeserializerBase
(JavaType selfType, NullValueProvider nuller, Boolean unwrapSingle) -
Method Summary
Modifier and TypeMethodDescriptionfindBackReference
(String refName) Method needed byBeanDeserializerFactory
to properly link managed- and back-reference pairs.abstract ValueDeserializer<Object>
Accesor for deserializer use for deserializing content values.Accessor for declared type of contained value elements; either exact type, or one of its supertypes.This method may be called in conjunction with calls toValueDeserializer.getEmptyValue(DeserializationContext)
, to check whether it needs to be called just once (static values), or each time empty value is needed.Method called to determine value to be used for "empty" values (most commonly when deserializing from empty JSON Strings).Exact structured type this deserializer handles, if known.supportsUpdate
(DeserializationConfig config) Introspection method that may be called to see whether deserializer supports update of an existing value (aka "merging") or not.protected <BOGUS> BOGUS
wrapAndThrow
(DeserializationContext ctxt, Throwable t, Object ref, String key) Helper method called by various Map(-like) deserializers when encountering a processing problem (whether from underlying parser, i/o, or something else).Methods inherited from class tools.jackson.databind.deser.std.StdDeserializer
_byteOverflow, _checkBooleanToStringCoercion, _checkCoercionFail, _checkDoubleSpecialValue, _checkFloatSpecialValue, _checkFloatToIntCoercion, _checkFloatToStringCoercion, _checkFromStringCoercion, _checkFromStringCoercion, _checkIntToFloatCoercion, _checkIntToStringCoercion, _checkTextualNull, _checkToStringCoercion, _coerceBooleanFromInt, _coercedTypeDesc, _coercedTypeDesc, _coerceIntegral, _deserializeFromArray, _deserializeFromEmptyString, _deserializeFromString, _deserializeWrappedValue, _findCoercionFromBlankString, _findCoercionFromEmptyArray, _findCoercionFromEmptyString, _findNullProvider, _hasTextualNull, _intOverflow, _isBlank, _isFalse, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _isTrue, _neitherNull, _nonNullNumber, _parseBoolean, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDouble, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseInteger, _parseInteger, _parseIntPrimitive, _parseIntPrimitive, _parseLong, _parseLong, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _wrapIOFailure, deserializeWithType, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueInstantiator, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer
Methods inherited from class tools.jackson.databind.ValueDeserializer
createContextual, deserialize, deserialize, deserializeWithType, getAbsentValue, getDelegatee, getKnownPropertyNames, getNullAccessPattern, getNullValue, getObjectIdReader, isCachable, logicalType, replaceDelegatee, resolve, unwrappingDeserializer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface tools.jackson.databind.deser.ValueInstantiator.Gettable
getValueInstantiator
-
Field Details
-
_containerType
-
_nullProvider
Handler we need for dealing with nulls. -
_skipNullValues
protected final boolean _skipNullValuesMarker flag set if the_nullProvider
indicates that all null content values should be skipped (instead of being possibly converted). -
_unwrapSingle
Specific override for this instance (from proper, or global per-type overrides) to indicate whether single value may be taken to mean an unwrapped one-element array or not. If null, left to global defaults.
-
-
Constructor Details
-
ContainerDeserializerBase
protected ContainerDeserializerBase(JavaType selfType, NullValueProvider nuller, Boolean unwrapSingle) -
ContainerDeserializerBase
-
ContainerDeserializerBase
-
ContainerDeserializerBase
protected ContainerDeserializerBase(ContainerDeserializerBase<?> base, NullValueProvider nuller, Boolean unwrapSingle)
-
-
Method Details
-
getValueType
Description copied from class:StdDeserializer
Exact structured type this deserializer handles, if known.- Overrides:
getValueType
in classStdDeserializer<T>
-
supportsUpdate
Description copied from class:ValueDeserializer
Introspection method that may be called to see whether deserializer supports update of an existing value (aka "merging") or not. Return value should either beBoolean.FALSE
if update is not supported at all (immutable values);Boolean.TRUE
if update should usually work (regular POJOs, for example), ornull
if this is either not known, or may sometimes work.Information gathered is typically used to either prevent merging update for property (either by skipping, if based on global defaults; or by exception during deserializer construction if explicit attempt made) if
Boolean.FALSE
returned, or inclusion ifBoolean.TRUE
is specified. If "unknown" case (null
returned) behavior is to exclude property if global defaults used; or to allow if explicit per-type or property merging is defined.Default implementation returns
null
to allow explicit per-type or per-property attempts.- Overrides:
supportsUpdate
in classValueDeserializer<T>
-
findBackReference
Description copied from class:ValueDeserializer
Method needed byBeanDeserializerFactory
to properly link managed- and back-reference pairs.- Overrides:
findBackReference
in classValueDeserializer<T>
-
getContentType
Accessor for declared type of contained value elements; either exact type, or one of its supertypes. -
getContentDeserializer
Accesor for deserializer use for deserializing content values. -
getEmptyAccessPattern
Description copied from class:ValueDeserializer
This method may be called in conjunction with calls toValueDeserializer.getEmptyValue(DeserializationContext)
, to check whether it needs to be called just once (static values), or each time empty value is needed.- Overrides:
getEmptyAccessPattern
in classValueDeserializer<T>
-
getEmptyValue
Description copied from class:ValueDeserializer
Method called to determine value to be used for "empty" values (most commonly when deserializing from empty JSON Strings). Usually this is same asValueDeserializer.getNullValue(tools.jackson.databind.DeserializationContext)
(which in turn is usually simply Java null), but it can be overridden for specific types. Or, if type should never be converted from empty String, method can also throw an exception.This method may be called once, or multiple times, depending on what
ValueDeserializer.getEmptyAccessPattern()
returns.Default implementation simply calls
ValueDeserializer.getNullValue(tools.jackson.databind.DeserializationContext)
and returns value.- Overrides:
getEmptyValue
in classValueDeserializer<T>
- Throws:
JacksonException
-
wrapAndThrow
protected <BOGUS> BOGUS wrapAndThrow(DeserializationContext ctxt, Throwable t, Object ref, String key) throws JacksonException Helper method called by various Map(-like) deserializers when encountering a processing problem (whether from underlying parser, i/o, or something else).- Throws:
JacksonException
-