Class GuavaMapDeserializer<T>

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.deser.ContextualDeserializer, com.fasterxml.jackson.databind.deser.NullValueProvider, com.fasterxml.jackson.databind.deser.ValueInstantiator.Gettable, java.io.Serializable
    Direct Known Subclasses:
    GuavaImmutableMapDeserializer

    public abstract class GuavaMapDeserializer<T>
    extends com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
    implements com.fasterxml.jackson.databind.deser.ContextualDeserializer
    See Also:
    Serialized Form
    • 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
      protected com.fasterxml.jackson.databind.KeyDeserializer _keyDeserializer
      Key deserializer used, if not null.
      protected com.fasterxml.jackson.databind.JsonDeserializer<?> _valueDeserializer
      Value deserializer.
      protected com.fasterxml.jackson.databind.jsontype.TypeDeserializer _valueTypeDeserializer
      If value instances have polymorphic type information, this is the type deserializer that can handle it
      private static long serialVersionUID  
      • 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 Description
      protected GuavaMapDeserializer​(com.fasterxml.jackson.databind.JavaType type, com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract T _deserializeEntries​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)  
      com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property)
      Method called to finalize setup of this deserializer, after deserializer itself has been registered.
      T deserialize​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)  
      java.lang.Object deserializeWithType​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer)
      Base implementation that does not assume specific type inclusion mechanism.
      com.fasterxml.jackson.databind.JsonDeserializer<java.lang.Object> getContentDeserializer()  
      abstract com.fasterxml.jackson.databind.util.AccessPattern getEmptyAccessPattern()  
      abstract java.lang.Object getEmptyValue​(com.fasterxml.jackson.databind.DeserializationContext ctxt)  
      com.fasterxml.jackson.databind.type.LogicalType logicalType()  
      abstract GuavaMapDeserializer<T> withResolved​(com.fasterxml.jackson.databind.KeyDeserializer keyDeser, com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser, com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser, com.fasterxml.jackson.databind.deser.NullValueProvider nuller)
      Overridable fluent factory method used for creating contextual instances.
      • Methods inherited from class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase

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

      • _keyDeserializer

        protected com.fasterxml.jackson.databind.KeyDeserializer _keyDeserializer
        Key deserializer used, if not null. If null, String from JSON content is used as is.
      • _valueDeserializer

        protected com.fasterxml.jackson.databind.JsonDeserializer<?> _valueDeserializer
        Value deserializer.
      • _valueTypeDeserializer

        protected final com.fasterxml.jackson.databind.jsontype.TypeDeserializer _valueTypeDeserializer
        If value instances have polymorphic type information, this is the type deserializer that can handle it
    • Constructor Detail

      • GuavaMapDeserializer

        protected GuavaMapDeserializer​(com.fasterxml.jackson.databind.JavaType type,
                                       com.fasterxml.jackson.databind.KeyDeserializer keyDeser,
                                       com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser,
                                       com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser,
                                       com.fasterxml.jackson.databind.deser.NullValueProvider nuller)
    • Method Detail

      • withResolved

        public abstract GuavaMapDeserializer<T> withResolved​(com.fasterxml.jackson.databind.KeyDeserializer keyDeser,
                                                             com.fasterxml.jackson.databind.JsonDeserializer<?> valueDeser,
                                                             com.fasterxml.jackson.databind.jsontype.TypeDeserializer valueTypeDeser,
                                                             com.fasterxml.jackson.databind.deser.NullValueProvider nuller)
        Overridable fluent factory method used for creating contextual instances.
      • getContentDeserializer

        public com.fasterxml.jackson.databind.JsonDeserializer<java.lang.Object> getContentDeserializer()
        Specified by:
        getContentDeserializer in class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
      • logicalType

        public com.fasterxml.jackson.databind.type.LogicalType logicalType()
        Overrides:
        logicalType in class com.fasterxml.jackson.databind.JsonDeserializer<T>
      • createContextual

        public com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                                                                   com.fasterxml.jackson.databind.BeanProperty property)
                                                                            throws com.fasterxml.jackson.databind.JsonMappingException
        Method called to finalize setup of this deserializer, after deserializer itself has been registered. This is needed to handle recursive and transitive dependencies.
        Specified by:
        createContextual in interface com.fasterxml.jackson.databind.deser.ContextualDeserializer
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
      • deserializeWithType

        public java.lang.Object deserializeWithType​(com.fasterxml.jackson.core.JsonParser p,
                                                    com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                                    com.fasterxml.jackson.databind.jsontype.TypeDeserializer typeDeserializer)
                                             throws java.io.IOException
        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 com.fasterxml.jackson.databind.deser.std.StdDeserializer<T>
        Throws:
        java.io.IOException
      • deserialize

        public T deserialize​(com.fasterxml.jackson.core.JsonParser p,
                             com.fasterxml.jackson.databind.DeserializationContext ctxt)
                      throws java.io.IOException
        Specified by:
        deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<T>
        Throws:
        java.io.IOException
      • getEmptyAccessPattern

        public abstract com.fasterxml.jackson.databind.util.AccessPattern getEmptyAccessPattern()
        Overrides:
        getEmptyAccessPattern in class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
      • getEmptyValue

        public abstract java.lang.Object getEmptyValue​(com.fasterxml.jackson.databind.DeserializationContext ctxt)
                                                throws com.fasterxml.jackson.databind.JsonMappingException
        Overrides:
        getEmptyValue in class com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase<T>
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
      • _deserializeEntries

        protected abstract T _deserializeEntries​(com.fasterxml.jackson.core.JsonParser p,
                                                 com.fasterxml.jackson.databind.DeserializationContext ctxt)
                                          throws java.io.IOException
        Throws:
        java.io.IOException