Class GuavaCacheDeserializer<T extends com.google.common.cache.Cache<java.lang.Object,​java.lang.Object>>

  • 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:
    SimpleCacheDeserializer

    public abstract class GuavaCacheDeserializer<T extends com.google.common.cache.Cache<java.lang.Object,​java.lang.Object>>
    extends com.fasterxml.jackson.databind.deser.std.StdDeserializer<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
      private com.fasterxml.jackson.databind.JsonDeserializer<?> elementDeserializer  
      private com.fasterxml.jackson.databind.jsontype.TypeDeserializer elementTypeDeserializer  
      private com.fasterxml.jackson.databind.KeyDeserializer keyDeserializer  
      private com.fasterxml.jackson.databind.deser.NullValueProvider nullProvider  
      private static long serialVersionUID  
      private boolean skipNullValues  
      private com.fasterxml.jackson.databind.type.MapLikeType type  
      • 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
      GuavaCacheDeserializer​(com.fasterxml.jackson.databind.type.MapLikeType type, com.fasterxml.jackson.databind.KeyDeserializer keyDeserializer, com.fasterxml.jackson.databind.jsontype.TypeDeserializer elementTypeDeserializer, com.fasterxml.jackson.databind.JsonDeserializer<?> elementDeserializer)  
      GuavaCacheDeserializer​(com.fasterxml.jackson.databind.type.MapLikeType type, com.fasterxml.jackson.databind.KeyDeserializer keyDeserializer, com.fasterxml.jackson.databind.jsontype.TypeDeserializer elementTypeDeserializer, com.fasterxml.jackson.databind.JsonDeserializer<?> elementDeserializer, com.fasterxml.jackson.databind.deser.NullValueProvider nvp)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract com.fasterxml.jackson.databind.JsonDeserializer<?> _createContextual​(com.fasterxml.jackson.databind.type.MapLikeType t, com.fasterxml.jackson.databind.KeyDeserializer kd, com.fasterxml.jackson.databind.jsontype.TypeDeserializer vtd, com.fasterxml.jackson.databind.JsonDeserializer<?> vd, com.fasterxml.jackson.databind.deser.NullValueProvider np)  
      protected void _tryToAddNull​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt, T cache, java.lang.Object key)
      Some/many Guava containers do not allow addition of null values, so isolate handling here.
      protected abstract T createCache()  
      com.fasterxml.jackson.databind.JsonDeserializer<?> createContextual​(com.fasterxml.jackson.databind.DeserializationContext ctxt, com.fasterxml.jackson.databind.BeanProperty property)  
      T deserialize​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)  
      private T deserializeContents​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt)  
      private void expect​(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.core.JsonToken token)  
      com.fasterxml.jackson.databind.type.LogicalType logicalType()  
      • 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, deserializeWithType, findContentNullProvider, findContentNullStyle, findConvertingContentDeserializer, findDeserializer, findFormatFeature, findFormatOverrides, findValueNullProvider, getValueClass, getValueInstantiator, getValueType, getValueType, handledType, handleMissingEndArrayForSingle, handleNestedArrayForSingle, handleUnknownProperty, isDefaultDeserializer, isDefaultKeyDeserializer
      • Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

        deserialize, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, isCachable, replaceDelegatee, supportsUpdate, unwrappingDeserializer
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • type

        private final com.fasterxml.jackson.databind.type.MapLikeType type
      • keyDeserializer

        private final com.fasterxml.jackson.databind.KeyDeserializer keyDeserializer
      • elementTypeDeserializer

        private final com.fasterxml.jackson.databind.jsontype.TypeDeserializer elementTypeDeserializer
      • elementDeserializer

        private final com.fasterxml.jackson.databind.JsonDeserializer<?> elementDeserializer
      • nullProvider

        private final com.fasterxml.jackson.databind.deser.NullValueProvider nullProvider
      • skipNullValues

        private final boolean skipNullValues
    • Constructor Detail

      • GuavaCacheDeserializer

        public GuavaCacheDeserializer​(com.fasterxml.jackson.databind.type.MapLikeType type,
                                      com.fasterxml.jackson.databind.KeyDeserializer keyDeserializer,
                                      com.fasterxml.jackson.databind.jsontype.TypeDeserializer elementTypeDeserializer,
                                      com.fasterxml.jackson.databind.JsonDeserializer<?> elementDeserializer)
      • GuavaCacheDeserializer

        public GuavaCacheDeserializer​(com.fasterxml.jackson.databind.type.MapLikeType type,
                                      com.fasterxml.jackson.databind.KeyDeserializer keyDeserializer,
                                      com.fasterxml.jackson.databind.jsontype.TypeDeserializer elementTypeDeserializer,
                                      com.fasterxml.jackson.databind.JsonDeserializer<?> elementDeserializer,
                                      com.fasterxml.jackson.databind.deser.NullValueProvider nvp)
    • Method Detail

      • 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
        Specified by:
        createContextual in interface com.fasterxml.jackson.databind.deser.ContextualDeserializer
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
      • createCache

        protected abstract T createCache()
      • _createContextual

        protected abstract com.fasterxml.jackson.databind.JsonDeserializer<?> _createContextual​(com.fasterxml.jackson.databind.type.MapLikeType t,
                                                                                                com.fasterxml.jackson.databind.KeyDeserializer kd,
                                                                                                com.fasterxml.jackson.databind.jsontype.TypeDeserializer vtd,
                                                                                                com.fasterxml.jackson.databind.JsonDeserializer<?> vd,
                                                                                                com.fasterxml.jackson.databind.deser.NullValueProvider np)
      • logicalType

        public com.fasterxml.jackson.databind.type.LogicalType logicalType()
        Overrides:
        logicalType in class com.fasterxml.jackson.databind.JsonDeserializer<T extends com.google.common.cache.Cache<java.lang.Object,​java.lang.Object>>
      • 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 extends com.google.common.cache.Cache<java.lang.Object,​java.lang.Object>>
        Throws:
        java.io.IOException
      • deserializeContents

        private T deserializeContents​(com.fasterxml.jackson.core.JsonParser p,
                                      com.fasterxml.jackson.databind.DeserializationContext ctxt)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • expect

        private void expect​(com.fasterxml.jackson.core.JsonParser p,
                            com.fasterxml.jackson.core.JsonToken token)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • _tryToAddNull

        protected void _tryToAddNull​(com.fasterxml.jackson.core.JsonParser p,
                                     com.fasterxml.jackson.databind.DeserializationContext ctxt,
                                     T cache,
                                     java.lang.Object key)
                              throws java.io.IOException
        Some/many Guava containers do not allow addition of null values, so isolate handling here.
        Throws:
        java.io.IOException
        Since:
        2.17