PrimitiveArrayDeserializers
Date: 2016-12-04

com.fasterxml.jackson.databind.deser.std

## Class PrimitiveArrayDeserializers<T>

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonDeserializer<T>
  - - com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
    - - com.fasterxml.jackson.databind.deser.std.PrimitiveArrayDeserializers<T>

- All Implemented Interfaces:
    ContextualDeserializer, java.io.Serializable

      public abstract class PrimitiveArrayDeserializers<T>
      extends StdDeserializer<T>
      implements ContextualDeserializer

  Container for deserializers used for instantiating "primitive arrays", arrays that contain non-object java primitive types.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

      `JsonDeserializer.None`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.Boolean` | `_unwrapSingle` Specific override for this instance (from proper, or global per-type overrides) to indicate whether single value may be taken to mean an unwrapped one-element array or not.

    - ### Fields inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

      `_valueClass, F_MASK_INT_COERCIONS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `PrimitiveArrayDeserializers(java.lang.Class<T> cls)`
    `protected` | `PrimitiveArrayDeserializers(PrimitiveArrayDeserializers<?> base, java.lang.Boolean unwrapSingle)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JsonDeserializer<?>` | `createContextual(DeserializationContext ctxt, BeanProperty property)` Method called to see if a different (or differently configured) deserializer is needed to deserialize values of specified property.
    `java.lang.Object` | `deserializeWithType(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt, TypeDeserializer typeDeserializer)` Base implementation that does not assume specific type inclusion mechanism.
    `static JsonDeserializer<?>` | `forType(java.lang.Class<?> rawType)`
    `protected T` | `handleNonArray(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
    `protected abstract T` | `handleSingleElementUnwrapped(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)`
    `protected abstract PrimitiveArrayDeserializers<?>` | `withResolved(java.lang.Boolean unwrapSingle)`

    - ### Methods inherited from class com.fasterxml.jackson.databind.deser.std.StdDeserializer

      `_coerceIntegral, _deserializeFromEmpty, _failDoubleToIntCoercion, _hasTextualNull, _isIntNumber, _isNaN, _isNegInf, _isPosInf, _parseBoolean, _parseBooleanFromInt, _parseBooleanFromOther, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, _parseString, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, getValueClass, getValueType, handledType, handleMissingEndArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer, parseDouble`

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

      `deserialize, deserialize, findBackReference, getDelegatee, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, unwrappingDeserializer`

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

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

- - ### Field Detail

    - #### _unwrapSingle

          protected final java.lang.Boolean _unwrapSingle

      Specific override for this instance (from proper, or global per-type overrides) to indicate whether single value may be taken to mean an unwrapped one-element array or not. If null, left to global defaults.
      Since:
        2.7

  - ### Constructor Detail

    - #### PrimitiveArrayDeserializers

          protected PrimitiveArrayDeserializers(java.lang.Class<T> cls)

    - #### PrimitiveArrayDeserializers

          protected PrimitiveArrayDeserializers(PrimitiveArrayDeserializers<?> base,
                                     java.lang.Boolean unwrapSingle)

      Since:
        2.7

  - ### Method Detail

    - #### forType

          public static JsonDeserializer<?> forType(java.lang.Class<?> rawType)

    - #### withResolved

          protected abstract PrimitiveArrayDeserializers<?> withResolved(java.lang.Boolean unwrapSingle)

      Since:
        2.7

    - #### createContextual

          public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
                                             BeanProperty property)
                                               throws JsonMappingException

      Description copied from interface: `ContextualDeserializer`
      Method called to see if a different (or differently configured) deserializer is needed to deserialize values of specified property. Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.
      Specified by:
        `createContextual` in interface `ContextualDeserializer`
      Parameters:
        `ctxt` - Deserialization context to access configuration, additional deserializers that may be needed by this deserializer
        `property` - Method, field or constructor parameter that represents the property (and is used to assign deserialized value). Should be available; but there may be cases where caller can not provide it and null is passed instead (in which case impls usually pass 'this' deserializer as is)
      Returns:
        Deserializer to use for deserializing values of specified property; may be this instance or a new instance.
      Throws:
        `JsonMappingException`

    - #### 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 class `StdDeserializer<T>`
        `typeDeserializer` - Deserializer to use for handling type information
      Throws:
        `java.io.IOException`

    - #### handleNonArray

          protected T handleNonArray(com.fasterxml.jackson.core.JsonParser p,
                         DeserializationContext ctxt)
                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### handleSingleElementUnwrapped

          protected abstract T handleSingleElementUnwrapped(com.fasterxml.jackson.core.JsonParser p,
                                       DeserializationContext ctxt)
                                                     throws java.io.IOException

      Throws:
        `java.io.IOException`