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<Collection<Object>>
-
- com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
-
- com.fasterxml.jackson.databind.deser.std.ArrayBlockingQueueDeserializer
-
- All Implemented Interfaces:
ContextualDeserializer
,NullValueProvider
,ValueInstantiator.Gettable
,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
-
-
Constructor Summary
Constructors Constructor Description ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<Object>
deserialize(JsonParser p, DeserializationContext ctxt, Collection<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.Object
deserializeWithType(JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer)
Base implementation that does not assume specific type inclusion mechanism.-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.CollectionDeserializer
createContextual, deserialize, getContentDeserializer, getValueInstantiator, isCachable
-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase
findBackReference, getContentType, getEmptyAccessPattern, getEmptyValue, getValueType, supportsUpdate
-
Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer
getValueClass, getValueType, handledType
-
Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserializeWithType, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, replaceDelegatee, unwrappingDeserializer
-
-
-
-
Constructor Detail
-
ArrayBlockingQueueDeserializer
public ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator)
-
-
Method Detail
-
deserialize
public Collection<Object> deserialize(JsonParser p, DeserializationContext ctxt, Collection<Object> result0) throws 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:
IOException
-
deserializeWithType
public Object deserializeWithType(JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer) throws 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:
IOException
-
-