Class ArrayBlockingQueueDeserializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
-
- com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<java.util.Collection<java.lang.Object>>
-
- com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
-
- com.fasterxml.jackson.databind.deser.std.ArrayBlockingQueueDeserializer
-
- All Implemented Interfaces:
ContextualDeserializer
,NullValueProvider
,ValueInstantiator.Gettable
,java.io.Serializable
public class ArrayBlockingQueueDeserializer extends CollectionDeserializer
We need a custom deserializer both becauseArrayBlockingQueue
has no default constructor AND because it has size limit used for constructing underlying storage automatically.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
CollectionDeserializer.CollectionReferringAccumulator
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
JsonDeserializer.None
-
-
Field Summary
-
Fields inherited from class com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
_delegateDeserializer, _valueDeserializer, _valueInstantiator, _valueTypeDeserializer
-
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, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ArrayBlockingQueueDeserializer(ArrayBlockingQueueDeserializer src)
Copy-constructor that can be used by sub-classes to allow copy-on-write styling copying of settings of an existing instance.ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator)
protected
ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator, JsonDeserializer<java.lang.Object> delegateDeser, NullValueProvider nuller, java.lang.Boolean unwrapSingle)
Constructor used when creating contextualized instances.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Collection<java.lang.Object>
createDefaultInstance(DeserializationContext ctxt)
java.util.Collection<java.lang.Object>
deserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.util.Collection<java.lang.Object> result0)
Alternate deserialization method (compared to the most commonly used,JsonDeserializer.deserialize(JsonParser, DeserializationContext)
), which takes in initialized value instance, to be configured and/or populated by deserializer.java.lang.Object
deserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer)
Base implementation that does not assume specific type inclusion mechanism.protected ArrayBlockingQueueDeserializer
withResolved(JsonDeserializer<?> dd, JsonDeserializer<?> vd, TypeDeserializer vtd, NullValueProvider nuller, java.lang.Boolean unwrapSingle)
Fluent-factory method call to construct contextual instance.-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
_deserializeWithObjectId, createContextual, deserialize, getContentDeserializer, getValueInstantiator, handleNonArray, isCachable
-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase
findBackReference, getContentType, getEmptyAccessPattern, getEmptyValue, getValueType, supportsUpdate, wrapAndThrow
-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
_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, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble
-
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, replaceDelegatee, unwrappingDeserializer
-
-
-
-
Constructor Detail
-
ArrayBlockingQueueDeserializer
public ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator)
-
ArrayBlockingQueueDeserializer
protected ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<java.lang.Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator, JsonDeserializer<java.lang.Object> delegateDeser, NullValueProvider nuller, java.lang.Boolean unwrapSingle)
Constructor used when creating contextualized instances.
-
ArrayBlockingQueueDeserializer
protected ArrayBlockingQueueDeserializer(ArrayBlockingQueueDeserializer src)
Copy-constructor that can be used by sub-classes to allow copy-on-write styling copying of settings of an existing instance.
-
-
Method Detail
-
withResolved
protected ArrayBlockingQueueDeserializer withResolved(JsonDeserializer<?> dd, JsonDeserializer<?> vd, TypeDeserializer vtd, NullValueProvider nuller, java.lang.Boolean unwrapSingle)
Fluent-factory method call to construct contextual instance.- Overrides:
withResolved
in classCollectionDeserializer
-
createDefaultInstance
protected java.util.Collection<java.lang.Object> createDefaultInstance(DeserializationContext ctxt) throws java.io.IOException
- Overrides:
createDefaultInstance
in classCollectionDeserializer
- Throws:
java.io.IOException
-
deserialize
public java.util.Collection<java.lang.Object> deserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, java.util.Collection<java.lang.Object> result0) throws java.io.IOException
Description copied from class:JsonDeserializer
Alternate deserialization method (compared to the most commonly used,JsonDeserializer.deserialize(JsonParser, DeserializationContext)
), which takes in initialized value instance, to be configured and/or populated by deserializer. Method is not necessarily used (or supported) by all types (it will not work for immutable types, for obvious reasons): most commonly it is used for Collections and Maps. It may be used both with "updating readers" (for POJOs) and when Collections and Maps use "getter as setter".Default implementation just throws
UnsupportedOperationException
, to indicate that types that do not explicitly add support do not necessarily support update-existing-value operation (esp. immutable types)- Overrides:
deserialize
in classCollectionDeserializer
- Throws:
java.io.IOException
-
deserializeWithType
public java.lang.Object deserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer) throws java.io.IOException
Description copied from class:StdDeserializer
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 classCollectionDeserializer
typeDeserializer
- Deserializer to use for handling type information- Throws:
java.io.IOException
-
-