public abstract class ContainerDeserializerBase<T> extends StdDeserializer<T> implements ValueInstantiator.Gettable
JsonDeserializer.None
Modifier and Type | Field and Description |
---|---|
protected JavaType |
_containerType |
protected NullValueProvider |
_nullProvider
Handler we need for dealing with nulls.
|
protected boolean |
_skipNullValues
Marker flag set if the
_nullProvider indicates that all null
content values should be skipped (instead of being possibly converted). |
protected Boolean |
_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.
|
_valueClass, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
Modifier | Constructor and Description |
---|---|
protected |
ContainerDeserializerBase(ContainerDeserializerBase<?> base) |
protected |
ContainerDeserializerBase(ContainerDeserializerBase<?> base,
NullValueProvider nuller,
Boolean unwrapSingle) |
protected |
ContainerDeserializerBase(JavaType selfType) |
protected |
ContainerDeserializerBase(JavaType selfType,
NullValueProvider nuller,
Boolean unwrapSingle) |
Modifier and Type | Method and Description |
---|---|
SettableBeanProperty |
findBackReference(String refName)
Method needed by
BeanDeserializerFactory to properly link
managed- and back-reference pairs. |
abstract JsonDeserializer<Object> |
getContentDeserializer()
Accesor for deserializer use for deserializing content values.
|
JavaType |
getContentType()
Accessor for declared type of contained value elements; either exact
type, or one of its supertypes.
|
AccessPattern |
getEmptyAccessPattern()
This method may be called in conjunction with calls to
JsonDeserializer.getEmptyValue(DeserializationContext) , to check whether it needs
to be called just once (static values), or each time empty value is
needed. |
Object |
getEmptyValue(DeserializationContext ctxt)
Method called to determine value to be used for "empty" values
(most commonly when deserializing from empty JSON Strings).
|
ValueInstantiator |
getValueInstantiator() |
JavaType |
getValueType()
Exact structured type this deserializer handles, if known.
|
Boolean |
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(Throwable t,
Object ref,
String key)
Helper method called by various Map(-like) deserializers.
|
_byteOverflow, _coercedTypeDesc, _coerceEmptyString, _coerceIntegral, _coerceNullToken, _coerceTextualNull, _deserializeFromArray, _deserializeFromEmpty, _deserializeWrappedValue, _failDoubleToIntCoercion, _findNullProvider, _hasTextualNull, _intOverflow, _isEmptyOrTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _neitherNull, _nonNullNumber, _parseBooleanFromInt, _parseBooleanPrimitive, _parseBytePrimitive, _parseDate, _parseDate, _parseDateFromArray, _parseDoublePrimitive, _parseDoublePrimitive, _parseFloatPrimitive, _parseFloatPrimitive, _parseIntPrimitive, _parseIntPrimitive, _parseLongPrimitive, _parseLongPrimitive, _parseShortPrimitive, _parseString, _reportFailedNullCoerce, _shortOverflow, _verifyEndArrayForSingle, _verifyNullForPrimitive, _verifyNullForPrimitiveCoercion, _verifyNullForScalarCoercion, _verifyNumberForScalarCoercion, _verifyStringForScalarCoercion, deserializeWithType, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble
deserialize, deserialize, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer
protected final JavaType _containerType
protected final NullValueProvider _nullProvider
protected final Boolean _unwrapSingle
protected final boolean _skipNullValues
_nullProvider
indicates that all null
content values should be skipped (instead of being possibly converted).protected ContainerDeserializerBase(JavaType selfType, NullValueProvider nuller, Boolean unwrapSingle)
protected ContainerDeserializerBase(JavaType selfType)
protected ContainerDeserializerBase(ContainerDeserializerBase<?> base)
protected ContainerDeserializerBase(ContainerDeserializerBase<?> base, NullValueProvider nuller, Boolean unwrapSingle)
public JavaType getValueType()
StdDeserializer
Default implementation just returns null.
getValueType
in class StdDeserializer<T>
public Boolean supportsUpdate(DeserializationConfig config)
JsonDeserializer
Boolean.FALSE
if update is not supported at all (immutable values);
Boolean.TRUE
if update should usually work (regular POJOs, for example),
or null
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
deserialization construction if explicit attempt made) if Boolean.FALSE
returned, or inclusion if Boolean.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.
supportsUpdate
in class JsonDeserializer<T>
public SettableBeanProperty findBackReference(String refName)
JsonDeserializer
BeanDeserializerFactory
to properly link
managed- and back-reference pairs.findBackReference
in class JsonDeserializer<T>
public JavaType getContentType()
public abstract JsonDeserializer<Object> getContentDeserializer()
public ValueInstantiator getValueInstantiator()
getValueInstantiator
in interface ValueInstantiator.Gettable
public AccessPattern getEmptyAccessPattern()
JsonDeserializer
JsonDeserializer.getEmptyValue(DeserializationContext)
, to check whether it needs
to be called just once (static values), or each time empty value is
needed.getEmptyAccessPattern
in class JsonDeserializer<T>
public Object getEmptyValue(DeserializationContext ctxt) throws JsonMappingException
JsonDeserializer
JsonDeserializer.getNullValue(com.fasterxml.jackson.databind.DeserializationContext)
(which in turn
is usually simply Java null), but it can be overridden
for types. Or, if type should never be converted from empty
String, method can also throw an exception.
Since version 2.6 (in which the context argument was added), call is expected to be made each and every time an empty value is needed.
Since version 2.9 does not require return of `T` any more.
Default implementation simply calls JsonDeserializer.getNullValue(com.fasterxml.jackson.databind.DeserializationContext)
and
returns value.
getEmptyValue
in class JsonDeserializer<T>
JsonMappingException
protected <BOGUS> BOGUS wrapAndThrow(Throwable t, Object ref, String key) throws IOException
IOException
Copyright © 2008–2019 FasterXML. All rights reserved.