Class GuavaImmutableCollectionDeserializer<T extends com.google.common.collect.ImmutableCollection<Object>>

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>
com.fasterxml.jackson.datatype.guava.deser.GuavaImmutableCollectionDeserializer<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:
ImmutableListDeserializer, ImmutableMultisetDeserializer, ImmutableSetDeserializer, ImmutableSortedMultisetDeserializer, ImmutableSortedSetDeserializer

abstract class GuavaImmutableCollectionDeserializer<T extends com.google.common.collect.ImmutableCollection<Object>> extends GuavaCollectionDeserializer<T>
  • Nested Class Summary

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

    com.fasterxml.jackson.databind.JsonDeserializer.None
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final long
     

    Fields inherited from class com.fasterxml.jackson.datatype.guava.deser.GuavaCollectionDeserializer

    _valueDeserializer, _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
    Constructor
    Description
    GuavaImmutableCollectionDeserializer(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 Type
    Method
    Description
    protected T
    _deserializeContents(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)
     
    protected Object
    _resolveNullToValue(com.fasterxml.jackson.databind.DeserializationContext ctxt)
     
    protected void
    _tryToAddNull(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.google.common.collect.ImmutableCollection.Builder<Object> builder)
    Some/many Guava containers do not allow addition of null values, so isolate handling here.
    protected abstract com.google.common.collect.ImmutableCollection.Builder<Object>
     
    com.fasterxml.jackson.databind.util.AccessPattern
     
    getEmptyValue(com.fasterxml.jackson.databind.DeserializationContext ctxt)
     
    supportsUpdate(com.fasterxml.jackson.databind.DeserializationConfig config)
     

    Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase

    findBackReference, getContentType, getValueType, 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

  • Constructor Details

    • GuavaImmutableCollectionDeserializer

      GuavaImmutableCollectionDeserializer(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

    • createBuilder

      protected abstract com.google.common.collect.ImmutableCollection.Builder<Object> createBuilder()
    • supportsUpdate

      public Boolean supportsUpdate(com.fasterxml.jackson.databind.DeserializationConfig config)
      Overrides:
      supportsUpdate in class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T extends com.google.common.collect.ImmutableCollection<Object>>
    • getEmptyAccessPattern

      public com.fasterxml.jackson.databind.util.AccessPattern getEmptyAccessPattern()
      Specified by:
      getEmptyAccessPattern in class GuavaCollectionDeserializer<T extends com.google.common.collect.ImmutableCollection<Object>>
    • getEmptyValue

      public T getEmptyValue(com.fasterxml.jackson.databind.DeserializationContext ctxt)
      Specified by:
      getEmptyValue in class GuavaCollectionDeserializer<T extends com.google.common.collect.ImmutableCollection<Object>>
    • _deserializeContents

      protected T _deserializeContents(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException
      Specified by:
      _deserializeContents in class GuavaCollectionDeserializer<T extends com.google.common.collect.ImmutableCollection<Object>>
      Throws:
      IOException
    • _resolveNullToValue

      protected Object _resolveNullToValue(com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException
      Throws:
      IOException
      Since:
      2.10
    • _tryToAddNull

      protected void _tryToAddNull(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.google.common.collect.ImmutableCollection.Builder<Object> builder) throws IOException
      Some/many Guava containers do not allow addition of null values, so isolate handling here.
      Throws:
      IOException
      Since:
      2.17