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.TypeDeserializer
If value instances have polymorphic type information, this is the type deserializer that can deserialize required type informationprivate static final long
Fields inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase
_containerType, _nullProvider, _skipNullValues, _unwrapSingle
Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_valueClass, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
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 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.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.AccessPattern
abstract Object
getEmptyValue
(com.fasterxml.jackson.databind.DeserializationContext ctxt) com.fasterxml.jackson.databind.type.LogicalType
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.Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase
findBackReference, getContentType, getValueType, supportsUpdate, wrapAndThrow, wrapAndThrow
Methods 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, isDefaultKeyDeserializer
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserializeWithType, getAbsentValue, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
createContextual
in interfacecom.fasterxml.jackson.databind.deser.ContextualDeserializer
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
getContentDeserializer
- Specified by:
getContentDeserializer
in classcom.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
-
logicalType
public com.fasterxml.jackson.databind.type.LogicalType logicalType()- Overrides:
logicalType
in 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:
deserializeWithType
in 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:
deserialize
in classcom.fasterxml.jackson.databind.JsonDeserializer<T>
- Throws:
IOException
-
getEmptyAccessPattern
public abstract com.fasterxml.jackson.databind.util.AccessPattern getEmptyAccessPattern()- Overrides:
getEmptyAccessPattern
in 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:
getEmptyValue
in 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
-