Top Description Fields Constructors Methods
com.fasterxml.jackson.databind.deser.std

public abstract Class ContainerDeserializerBase<T>

extends StdDeserializer<T>
implements Gettable
Class Inheritance
All Implemented Interfaces
com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable
Known Direct Subclasses
com.fasterxml.jackson.databind.deser.std.EnumMapDeserializer, com.fasterxml.jackson.databind.deser.std.MapDeserializer, com.fasterxml.jackson.databind.deser.std.MapEntryDeserializer, com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer, com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer, com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
Annotations
@SuppressWarnings:serial
Imports
java.io.IOException, java.lang.reflect.InvocationTargetException, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.deser.NullValueProvider, .SettableBeanProperty, .ValueInstantiator, com.fasterxml.jackson.databind.deser.impl.NullsConstantProvider, com.fasterxml.jackson.databind.type.TypeFactory, com.fasterxml.jackson.databind.util.AccessPattern, .ClassUtil

Intermediate base deserializer class that adds more shared accessor so that other classes can access information about contained (value) types

Field Summary

Modifier and TypeField and Description
protected final JavaType
protected final NullValueProvider
_nullProvider

Handler we need for dealing with nulls.

protected final boolean
_skipNullValues

Marker flag set if the _nullProvider indicates that all null content values should be skipped (instead of being possibly converted).

protected final 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.

Inherited from com.fasterxml.jackson.databind.deser.std.StdDeserializer:
_valueClass_valueTypeF_MASK_ACCEPT_ARRAYSF_MASK_INT_COERCIONS

Constructor Summary

AccessConstructor and Description
protected
protected
protected
protected

Method Summary

Modifier and TypeMethod and Description
public SettableBeanProperty
findBackReference(String refName)

Overrides com.fasterxml.jackson.databind.JsonDeserializer.findBackReference.

Method needed by BeanDeserializerFactory to properly link managed- and back-reference pairs.

public abstract JsonDeserializer<Object>
getContentDeserializer()

Accesor for deserializer use for deserializing content values.

public JavaType
getContentType()

Accessor for declared type of contained value elements; either exact type, or one of its supertypes.

public AccessPattern
getEmptyAccessPattern()

Overrides com.fasterxml.jackson.databind.JsonDeserializer.getEmptyAccessPattern.

This method may be called in conjunction with calls to getEmptyValue(DeserializationContext), to check whether it needs to be called just once (static values), or each time empty value is needed.

public Object
getEmptyValue(DeserializationContext ctxt)

Overrides com.fasterxml.jackson.databind.JsonDeserializer.getEmptyValue.

Method called to determine value to be used for "empty" values (most commonly when deserializing from empty JSON Strings).

public JavaType
getValueType()

Overrides com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueType.

Exact structured type this deserializer handles, if known.

public Boolean
supportsUpdate(DeserializationConfig config)

Overrides com.fasterxml.jackson.databind.JsonDeserializer.supportsUpdate.

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)
Deprecated Since 2.12.2 (since it does not get context for accessing config)

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).

Inherited from com.fasterxml.jackson.databind.deser.std.StdDeserializer:
_byteOverflow_checkBooleanToStringCoercion_checkCoercionFail_checkDoubleSpecialValue_checkFloatSpecialValue_checkFloatToIntCoercion_checkFloatToStringCoercion_checkFromStringCoercion_checkFromStringCoercion_checkIntToFloatCoercion_checkIntToStringCoercion_checkTextualNull_checkToStringCoercion_coerceBooleanFromInt_coercedTypeDesc_coercedTypeDesc_coerceEmptyString_coerceIntegral_coerceNullToken_coerceTextualNull_deserializeFromArray_deserializeFromEmpty_deserializeFromEmptyString_deserializeFromString_deserializeWrappedValue_failDoubleToIntCoercion_findCoercionFromBlankString_findCoercionFromEmptyArray_findCoercionFromEmptyString_findNullProvider_hasTextualNull_intOverflow_isBlank_isEmptyOrTextualNull_isFalse_isIntNumber_isNaN_isNegInf_isPosInf_isTrue_neitherNull_nonNullNumber_parseBoolean_parseBooleanFromInt_parseBooleanPrimitive_parseBooleanPrimitive_parseBytePrimitive_parseDate_parseDate_parseDateFromArray_parseDouble_parseDouble_parseDoublePrimitive_parseDoublePrimitive_parseDoublePrimitive_parseFloatPrimitive_parseFloatPrimitive_parseFloatPrimitive_parseInteger_parseInteger_parseIntPrimitive_parseIntPrimitive_parseLong_parseLong_parseLongPrimitive_parseLongPrimitive_parseShortPrimitive_parseString_parseString_reportFailedNullCoerce_shortOverflow_verifyEndArrayForSingle_verifyNullForPrimitive_verifyNullForPrimitiveCoercion_verifyNullForScalarCoercion_verifyNumberForScalarCoercion_verifyStringForScalarCoerciondeserializeWithTypefindContentNullProviderfindContentNullStylefindConvertingContentDeserializerfindDeserializerfindFormatFeaturefindFormatOverridesfindValueNullProvidergetValueClassgetValueInstantiatorgetValueTypehandledTypehandleMissingEndArrayForSinglehandleNestedArrayForSinglehandleUnknownPropertyisDefaultDeserializerisDefaultKeyDeserializer

Field Detail

_containerTypeback to summary
protected final JavaType _containerType
_nullProviderback to summary
protected final NullValueProvider _nullProvider

Handler we need for dealing with nulls.

Since
2.9
_skipNullValuesback to summary
protected final boolean _skipNullValues

Marker flag set if the _nullProvider indicates that all null content values should be skipped (instead of being possibly converted).

Since
2.9
_unwrapSingleback to summary
protected final 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. If null, left to global defaults.

Since
2.9 (demoted from sub-classes where added in 2.7)

Constructor Detail

ContainerDeserializerBaseback to summary
protected ContainerDeserializerBase(JavaType selfType, NullValueProvider nuller, Boolean unwrapSingle)
ContainerDeserializerBaseback to summary
protected ContainerDeserializerBase(JavaType selfType)
ContainerDeserializerBaseback to summary
protected ContainerDeserializerBase(ContainerDeserializerBase<?> base)
Since
2.9
ContainerDeserializerBaseback to summary
protected ContainerDeserializerBase(ContainerDeserializerBase<?> base, NullValueProvider nuller, Boolean unwrapSingle)
Since
2.9

Method Detail

findBackReferenceback to summary
public SettableBeanProperty findBackReference(String refName)

Overrides com.fasterxml.jackson.databind.JsonDeserializer.findBackReference.

Doc from com.fasterxml.jackson.databind.JsonDeserializer.findBackReference.

Method needed by BeanDeserializerFactory to properly link managed- and back-reference pairs.

Annotations
@Override
getContentDeserializerback to summary
public abstract JsonDeserializer<Object> getContentDeserializer()

Accesor for deserializer use for deserializing content values.

getContentTypeback to summary
public JavaType getContentType()

Accessor for declared type of contained value elements; either exact type, or one of its supertypes.

getEmptyAccessPatternback to summary
public AccessPattern getEmptyAccessPattern()

Overrides com.fasterxml.jackson.databind.JsonDeserializer.getEmptyAccessPattern.

Doc from com.fasterxml.jackson.databind.JsonDeserializer.getEmptyAccessPattern.

This method may be called in conjunction with calls to getEmptyValue(DeserializationContext), to check whether it needs to be called just once (static values), or each time empty value is needed.

Annotations
@Override
getEmptyValueback to summary
public Object getEmptyValue(DeserializationContext ctxt) throws JsonMappingException

Overrides com.fasterxml.jackson.databind.JsonDeserializer.getEmptyValue.

Doc from com.fasterxml.jackson.databind.JsonDeserializer.getEmptyValue.

Method called to determine value to be used for "empty" values (most commonly when deserializing from empty JSON Strings). Usually this is same as getNullValue (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 getEmptyAccessPattern() returns.

Default implementation simply calls getNullValue and returns value.

Annotations
@Override
getValueTypeback to summary
public JavaType getValueType()

Overrides com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueType.

Doc from com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueType.

Exact structured type this deserializer handles, if known.

Annotations
@Override
supportsUpdateback to summary
public Boolean supportsUpdate(DeserializationConfig config)

Overrides com.fasterxml.jackson.databind.JsonDeserializer.supportsUpdate.

Doc from com.fasterxml.jackson.databind.JsonDeserializer.supportsUpdate.

Introspection method that may be called to see whether deserializer supports update of an existing value (aka "merging") or not. Return value should either be 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 deserializer 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.

Annotations
@Override
wrapAndThrowback to summary
protected <BOGUS> BOGUS wrapAndThrow(Throwable t, Object ref, String key) throws IOException

Deprecated

Since 2.12.2 (since it does not get context for accessing config)

Annotations
@Deprecated
wrapAndThrowback to summary
protected <BOGUS> BOGUS wrapAndThrow(DeserializationContext ctxt, Throwable t, Object ref, String key) throws IOException

Helper method called by various Map(-like) deserializers when encountering a processing problem (whether from underlying parser, i/o, or something else).

Since
2.12.2