Class GuavaCollectionDeserializer<T>
java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<T>
com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
com.fasterxml.jackson.datatype.guava.deser.GuavaCollectionDeserializer<T>
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.ContextualDeserializer, com.fasterxml.jackson.databind.deser.NullValueProvider, com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable, Serializable
- Direct Known Subclasses:
GuavaImmutableCollectionDeserializer, GuavaMultisetDeserializer
public abstract class GuavaCollectionDeserializer<T>
extends com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
implements com.fasterxml.jackson.databind.deser.ContextualDeserializer
Base class for Guava-specific collection deserializers.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
com.fasterxml.jackson.databind.JsonDeserializer.None -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.fasterxml.jackson.databind.JsonDeserializer<?> Deserializer used for values contained in collection being deserialized; either assigned on constructor, or during resolve().protected final com.fasterxml.jackson.databind.jsontype.TypeDeserializerIf value instances have polymorphic type information, this is the type deserializer that can deserialize required type informationprivate static final longFields inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase
_containerType, _nullProvider, _skipNullValues, _unwrapSingleFields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGuavaCollectionDeserializer(com.fasterxml.jackson.databind.JavaType selfType, com.fasterxml.jackson.databind.JsonDeserializer<?> deser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Boolean unwrapSingle) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract T_createEmpty(com.fasterxml.jackson.databind.DeserializationContext ctxt) protected abstract T_createWithSingleElement(com.fasterxml.jackson.databind.DeserializationContext ctxt, Object value) protected abstract T_deserializeContents(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) protected T_deserializeFromSingleValue(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) Method used to support implicit coercion from a single non-array value into single-element collection.protected void_tryToAddNull(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, Collection<?> set) Some/many Guava containers do not allow addition ofnullvalues, so isolate handling here.com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property) Method called to finalize setup of this deserializer, after deserializer itself has been registered.deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) deserializeWithType(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer) Base implementation that does not assume specific type inclusion mechanism.com.fasterxml.jackson.databind.JsonDeserializer<Object> abstract com.fasterxml.jackson.databind.util.AccessPatternabstract ObjectgetEmptyValue(com.fasterxml.jackson.databind.DeserializationContext ctxt) com.fasterxml.jackson.databind.type.LogicalTypeabstract GuavaCollectionDeserializer<T> withResolved(com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Boolean unwrapSingle) Overridable fluent factory method used for creating contextual instances.Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase
findBackReference, getContentType, getValueType, supportsUpdate, wrapAndThrow, wrapAndThrowMethods inherited from class 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, _verifyStringForScalarCoercion, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueInstantiator, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializerMethods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserializeWithType, getAbsentValue, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializerMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable
getValueInstantiator
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
_valueDeserializer
protected final com.fasterxml.jackson.databind.JsonDeserializer<?> _valueDeserializerDeserializer used for values contained in collection being deserialized; either assigned on constructor, or during resolve(). -
_valueTypeDeserializer
protected final com.fasterxml.jackson.databind.jsontype.TypeDeserializer _valueTypeDeserializerIf value instances have polymorphic type information, this is the type deserializer that can deserialize required type information
-
-
Constructor Details
-
GuavaCollectionDeserializer
protected GuavaCollectionDeserializer(com.fasterxml.jackson.databind.JavaType selfType, com.fasterxml.jackson.databind.JsonDeserializer<?> deser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Boolean unwrapSingle)
-
-
Method Details
-
withResolved
public abstract GuavaCollectionDeserializer<T> withResolved(com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller, Boolean unwrapSingle) Overridable fluent factory method used for creating contextual instances. -
createContextual
public com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property) throws com.fasterxml.jackson.databind.JsonMappingException Method called to finalize setup of this deserializer, after deserializer itself has been registered. This is needed to handle recursive and transitive dependencies.- Specified by:
createContextualin interfacecom.fasterxml.jackson.databind.deser.ContextualDeserializer- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
getContentDeserializer
-
logicalType
public com.fasterxml.jackson.databind.type.LogicalType logicalType()- Overrides:
logicalTypein classcom.fasterxml.jackson.databind.JsonDeserializer<T>
-
deserializeWithType
public Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer) throws 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:
deserializeWithTypein classcom.fasterxml.jackson.databind.deser.std.StdDeserializer<T>- Throws:
IOException
-
deserialize
public T deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException - Specified by:
deserializein classcom.fasterxml.jackson.databind.JsonDeserializer<T>- Throws:
IOException
-
getEmptyAccessPattern
public abstract com.fasterxml.jackson.databind.util.AccessPattern getEmptyAccessPattern()- Overrides:
getEmptyAccessPatternin classcom.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
-
getEmptyValue
public abstract Object getEmptyValue(com.fasterxml.jackson.databind.DeserializationContext ctxt) throws com.fasterxml.jackson.databind.JsonMappingException - Overrides:
getEmptyValuein classcom.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
_deserializeContents
protected abstract T _deserializeContents(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException - Throws:
IOException
-
_deserializeFromSingleValue
protected T _deserializeFromSingleValue(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException Method used to support implicit coercion from a single non-array value into single-element collection.- Throws:
IOException- Since:
- 2.3
-
_createEmpty
-
_createWithSingleElement
-
_tryToAddNull
protected void _tryToAddNull(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, Collection<?> set) throws IOException Some/many Guava containers do not allow addition ofnullvalues, so isolate handling here.- Throws:
IOException- Since:
- 2.17
-