Class CacheSerializer

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, com.fasterxml.jackson.databind.ser.ContextualSerializer, java.io.Serializable

    public class CacheSerializer
    extends com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.cache.Cache<?,​?>>
    implements com.fasterxml.jackson.databind.ser.ContextualSerializer
    Serializer for Guava's Cache values.
    See Also:
    Serialized Form
    • Nested Class Summary

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

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

      Fields 
      Modifier and Type Field Description
      protected com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap _dynamicValueSerializers
      If value type can not be statically determined, mapping from runtime value types to serializers are stored in this object.
      protected java.lang.Object _filterId
      The id of the property filter to use, if any; null if none.
      protected java.util.Set<java.lang.String> _ignoredEntries
      Set of entries to omit during serialization, if any
      private com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _keySerializer  
      private com.fasterxml.jackson.databind.BeanProperty _property  
      protected boolean _sortKeys
      Flag set if output is forced to be sorted by keys (usually due to annotation).
      private com.fasterxml.jackson.databind.type.MapLikeType _type  
      private com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _valueSerializer  
      private com.fasterxml.jackson.databind.jsontype.TypeSerializer _valueTypeSerializer  
      private static long serialVersionUID  
      • Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

        _handledType
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        CacheSerializer​(com.fasterxml.jackson.databind.type.MapLikeType type, com.fasterxml.jackson.databind.BeanDescription beanDesc, com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> keySerializer, com.fasterxml.jackson.databind.jsontype.TypeSerializer vts, com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> valueSerializer, java.util.Set<java.lang.String> ignoredEntries, java.lang.Object filterId)  
      protected CacheSerializer​(CacheSerializer src, com.fasterxml.jackson.databind.BeanProperty property, com.fasterxml.jackson.databind.JsonSerializer<?> keySerializer, com.fasterxml.jackson.databind.jsontype.TypeSerializer vts, com.fasterxml.jackson.databind.JsonSerializer<?> valueSerializer, java.util.Set<java.lang.String> ignoredEntries, java.lang.Object filterId, boolean sortKeys)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _findAndAddDynamic​(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map, com.fasterxml.jackson.databind.JavaType type, com.fasterxml.jackson.databind.SerializerProvider provider)  
      protected com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _findAndAddDynamic​(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map, java.lang.Class<?> type, com.fasterxml.jackson.databind.SerializerProvider provider)  
      protected java.util.Map<?,​?> _orderEntriesByKey​(java.util.Map<?,​?> value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)  
      protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?> _withValueTypeSerializer​(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)  
      protected void _writeContents​(com.google.common.cache.Cache<?,​?> cache, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)  
      void acceptJsonFormatVisitor​(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint)  
      com.fasterxml.jackson.databind.JsonSerializer<?> createContextual​(com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.BeanProperty property)  
      com.fasterxml.jackson.databind.JsonSerializer<?> getContentSerializer()  
      com.fasterxml.jackson.databind.JavaType getContentType()  
      boolean hasSingleElement​(com.google.common.cache.Cache<?,​?> cache)  
      boolean isEmpty​(com.fasterxml.jackson.databind.SerializerProvider prov, com.google.common.cache.Cache<?,​?> value)  
      void serialize​(com.google.common.cache.Cache<?,​?> value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)  
      private void serializeFields​(java.util.Map<?,​?> mmap, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)  
      private void serializeFilteredFields​(java.util.Map<?,​?> map, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)  
      void serializeWithType​(com.google.common.cache.Cache<?,​?> value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider ctxt, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)  
      protected CacheSerializer withResolved​(com.fasterxml.jackson.databind.BeanProperty property, com.fasterxml.jackson.databind.JsonSerializer<?> keySer, com.fasterxml.jackson.databind.jsontype.TypeSerializer vts, com.fasterxml.jackson.databind.JsonSerializer<?> valueSer, java.util.Set<java.lang.String> ignored, java.lang.Object filterId, boolean sortKeys)  
      • Methods inherited from class com.fasterxml.jackson.databind.ser.ContainerSerializer

        hasContentTypeAnnotation, withValueTypeSerializer
      • Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

        _neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
      • Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

        getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId, withIgnoredProperties
      • 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
      • _property

        private final com.fasterxml.jackson.databind.BeanProperty _property
      • _keySerializer

        private final com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _keySerializer
      • _valueTypeSerializer

        private final com.fasterxml.jackson.databind.jsontype.TypeSerializer _valueTypeSerializer
      • _valueSerializer

        private final com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _valueSerializer
      • _ignoredEntries

        protected final java.util.Set<java.lang.String> _ignoredEntries
        Set of entries to omit during serialization, if any
        Since:
        2.16
      • _filterId

        protected final java.lang.Object _filterId
        The id of the property filter to use, if any; null if none.
        Since:
        2.16
      • _sortKeys

        protected final boolean _sortKeys
        Flag set if output is forced to be sorted by keys (usually due to annotation).
        Since:
        2.16
      • _dynamicValueSerializers

        protected com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap _dynamicValueSerializers
        If value type can not be statically determined, mapping from runtime value types to serializers are stored in this object.
        Since:
        2.16
    • Constructor Detail

      • CacheSerializer

        public CacheSerializer​(com.fasterxml.jackson.databind.type.MapLikeType type,
                               com.fasterxml.jackson.databind.BeanDescription beanDesc,
                               com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> keySerializer,
                               com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
                               com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> valueSerializer,
                               java.util.Set<java.lang.String> ignoredEntries,
                               java.lang.Object filterId)
        Since:
        2.16
      • CacheSerializer

        protected CacheSerializer​(CacheSerializer src,
                                  com.fasterxml.jackson.databind.BeanProperty property,
                                  com.fasterxml.jackson.databind.JsonSerializer<?> keySerializer,
                                  com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
                                  com.fasterxml.jackson.databind.JsonSerializer<?> valueSerializer,
                                  java.util.Set<java.lang.String> ignoredEntries,
                                  java.lang.Object filterId,
                                  boolean sortKeys)
        Since:
        2.16
    • Method Detail

      • withResolved

        protected CacheSerializer withResolved​(com.fasterxml.jackson.databind.BeanProperty property,
                                               com.fasterxml.jackson.databind.JsonSerializer<?> keySer,
                                               com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
                                               com.fasterxml.jackson.databind.JsonSerializer<?> valueSer,
                                               java.util.Set<java.lang.String> ignored,
                                               java.lang.Object filterId,
                                               boolean sortKeys)
        Since:
        2.16
      • _withValueTypeSerializer

        protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?> _withValueTypeSerializer​(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
        Specified by:
        _withValueTypeSerializer in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.cache.Cache<?,​?>>
      • createContextual

        public com.fasterxml.jackson.databind.JsonSerializer<?> createContextual​(com.fasterxml.jackson.databind.SerializerProvider provider,
                                                                                 com.fasterxml.jackson.databind.BeanProperty property)
                                                                          throws com.fasterxml.jackson.databind.JsonMappingException
        Specified by:
        createContextual in interface com.fasterxml.jackson.databind.ser.ContextualSerializer
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
      • getContentSerializer

        public com.fasterxml.jackson.databind.JsonSerializer<?> getContentSerializer()
        Specified by:
        getContentSerializer in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.cache.Cache<?,​?>>
      • getContentType

        public com.fasterxml.jackson.databind.JavaType getContentType()
        Specified by:
        getContentType in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.cache.Cache<?,​?>>
      • hasSingleElement

        public boolean hasSingleElement​(com.google.common.cache.Cache<?,​?> cache)
        Specified by:
        hasSingleElement in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.cache.Cache<?,​?>>
      • isEmpty

        public boolean isEmpty​(com.fasterxml.jackson.databind.SerializerProvider prov,
                               com.google.common.cache.Cache<?,​?> value)
        Overrides:
        isEmpty in class com.fasterxml.jackson.databind.JsonSerializer<com.google.common.cache.Cache<?,​?>>
      • serialize

        public void serialize​(com.google.common.cache.Cache<?,​?> value,
                              com.fasterxml.jackson.core.JsonGenerator gen,
                              com.fasterxml.jackson.databind.SerializerProvider provider)
                       throws java.io.IOException
        Specified by:
        serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<com.google.common.cache.Cache<?,​?>>
        Throws:
        java.io.IOException
      • serializeWithType

        public void serializeWithType​(com.google.common.cache.Cache<?,​?> value,
                                      com.fasterxml.jackson.core.JsonGenerator gen,
                                      com.fasterxml.jackson.databind.SerializerProvider ctxt,
                                      com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
                               throws java.io.IOException
        Overrides:
        serializeWithType in class com.fasterxml.jackson.databind.JsonSerializer<com.google.common.cache.Cache<?,​?>>
        Throws:
        java.io.IOException
      • _writeContents

        protected void _writeContents​(com.google.common.cache.Cache<?,​?> cache,
                                      com.fasterxml.jackson.core.JsonGenerator gen,
                                      com.fasterxml.jackson.databind.SerializerProvider provider)
                               throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        2.16
      • serializeFields

        private void serializeFields​(java.util.Map<?,​?> mmap,
                                     com.fasterxml.jackson.core.JsonGenerator gen,
                                     com.fasterxml.jackson.databind.SerializerProvider provider)
                              throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        2.16
      • serializeFilteredFields

        private void serializeFilteredFields​(java.util.Map<?,​?> map,
                                             com.fasterxml.jackson.core.JsonGenerator gen,
                                             com.fasterxml.jackson.databind.SerializerProvider provider)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        2.16
      • acceptJsonFormatVisitor

        public void acceptJsonFormatVisitor​(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor,
                                            com.fasterxml.jackson.databind.JavaType typeHint)
                                     throws com.fasterxml.jackson.databind.JsonMappingException
        Specified by:
        acceptJsonFormatVisitor in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable
        Overrides:
        acceptJsonFormatVisitor in class com.fasterxml.jackson.databind.ser.std.StdSerializer<com.google.common.cache.Cache<?,​?>>
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
      • _orderEntriesByKey

        protected java.util.Map<?,​?> _orderEntriesByKey​(java.util.Map<?,​?> value,
                                                              com.fasterxml.jackson.core.JsonGenerator gen,
                                                              com.fasterxml.jackson.databind.SerializerProvider provider)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        2.16
      • _findAndAddDynamic

        protected final com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _findAndAddDynamic​(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map,
                                                                                                           java.lang.Class<?> type,
                                                                                                           com.fasterxml.jackson.databind.SerializerProvider provider)
                                                                                                    throws com.fasterxml.jackson.databind.JsonMappingException
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
        Since:
        2.16
      • _findAndAddDynamic

        protected final com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> _findAndAddDynamic​(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map,
                                                                                                           com.fasterxml.jackson.databind.JavaType type,
                                                                                                           com.fasterxml.jackson.databind.SerializerProvider provider)
                                                                                                    throws com.fasterxml.jackson.databind.JsonMappingException
        Throws:
        com.fasterxml.jackson.databind.JsonMappingException
        Since:
        2.16