com.fasterxml.jackson.databind.deser.std

## 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 because `ArrayBlockingQueue` 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, _valueType, F_MASK_ACCEPT_ARRAYS, F_MASK_INT_COERCIONS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and 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<Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator)`
    `protected` | `ArrayBlockingQueueDeserializer(JavaType containerType, JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser, ValueInstantiator valueInstantiator, JsonDeserializer<Object> delegateDeser, NullValueProvider nuller, Boolean unwrapSingle)` Constructor used when creating contextualized instances.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Collection<Object>` | `createDefaultInstance(DeserializationContext ctxt)`
    `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.
    `protected ArrayBlockingQueueDeserializer` | `withResolved(JsonDeserializer<?> dd, JsonDeserializer<?> vd, TypeDeserializer vtd, NullValueProvider nuller, 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, getValueType, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble`

    - ### Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

      `deserializeWithType, getDelegatee, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, replaceDelegatee, unwrappingDeserializer`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ArrayBlockingQueueDeserializer

          public ArrayBlockingQueueDeserializer(JavaType containerType,
                                                JsonDeserializer<Object> valueDeser,
                                                TypeDeserializer valueTypeDeser,
                                                ValueInstantiator valueInstantiator)

    - #### ArrayBlockingQueueDeserializer

          protected ArrayBlockingQueueDeserializer(JavaType containerType,
                                                   JsonDeserializer<Object> valueDeser,
                                                   TypeDeserializer valueTypeDeser,
                                                   ValueInstantiator valueInstantiator,
                                                   JsonDeserializer<Object> delegateDeser,
                                                   NullValueProvider nuller,
                                                   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,
                                                                Boolean unwrapSingle)

      Fluent-factory method call to construct contextual instance.
      Overrides:
        `withResolved` in class `CollectionDeserializer`

    - #### createDefaultInstance

          protected Collection<Object> createDefaultInstance(DeserializationContext ctxt)
                                                      throws IOException

      Overrides:
        `createDefaultInstance` in class `CollectionDeserializer`
      Throws:
        `IOException`

    - #### 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 class `CollectionDeserializer`
      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 class `CollectionDeserializer`
        `typeDeserializer` - Deserializer to use for handling type information
      Throws:
        `IOException`

Copyright © 2008–2019 FasterXML. All rights reserved.