Class XanthicJacksonCacheProvider

java.lang.Object
io.github.xanthic.jackson.XanthicJacksonCacheProvider
All Implemented Interfaces:
com.fasterxml.jackson.databind.cfg.CacheProvider, Serializable

public final class XanthicJacksonCacheProvider extends Object implements com.fasterxml.jackson.databind.cfg.CacheProvider
Implementation of Jackson's CacheProvider that yields Xanthic Cache instances, which are backed by any cache implementation of your choosing.

Example usage: ObjectMapper mapper = JsonMapper.builder().cacheProvider(XanthicJacksonCacheProvider.defaultInstance()).build();

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    XanthicJacksonCacheProvider(long maxDeserializerCacheSize, long maxSerializerCacheSize, long maxTypeFactoryCacheSize)
    Creates a Jackson CacheProvider backed by Xanthic, using the specified max cache sizes.
    XanthicJacksonCacheProvider(SerializableConsumer<io.github.xanthic.cache.core.CacheApiSpec<com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.JsonDeserializer<Object>>> deserializationSpec, SerializableConsumer<io.github.xanthic.cache.core.CacheApiSpec<com.fasterxml.jackson.databind.util.TypeKey,com.fasterxml.jackson.databind.JsonSerializer<Object>>> serializationSpec, SerializableConsumer<io.github.xanthic.cache.core.CacheApiSpec<Object,com.fasterxml.jackson.databind.JavaType>> typeFactorySpec)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    boolean
     
    com.fasterxml.jackson.databind.util.LookupCache<com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.JsonDeserializer<Object>>
    forDeserializerCache(com.fasterxml.jackson.databind.DeserializationConfig config)
     
    com.fasterxml.jackson.databind.util.LookupCache<com.fasterxml.jackson.databind.util.TypeKey,com.fasterxml.jackson.databind.JsonSerializer<Object>>
    forSerializerCache(com.fasterxml.jackson.databind.SerializationConfig config)
     
    com.fasterxml.jackson.databind.util.LookupCache<Object,com.fasterxml.jackson.databind.JavaType>
     
    int
     
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • XanthicJacksonCacheProvider

      public XanthicJacksonCacheProvider(long maxDeserializerCacheSize, long maxSerializerCacheSize, long maxTypeFactoryCacheSize)
      Creates a Jackson CacheProvider backed by Xanthic, using the specified max cache sizes.
      Parameters:
      maxDeserializerCacheSize - the maximum size of the deserializer cache
      maxSerializerCacheSize - the maximum size of the serializer cache
      maxTypeFactoryCacheSize - the maximum size of the type factory cache
    • XanthicJacksonCacheProvider

      public XanthicJacksonCacheProvider(SerializableConsumer<io.github.xanthic.cache.core.CacheApiSpec<com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.JsonDeserializer<Object>>> deserializationSpec, SerializableConsumer<io.github.xanthic.cache.core.CacheApiSpec<com.fasterxml.jackson.databind.util.TypeKey,com.fasterxml.jackson.databind.JsonSerializer<Object>>> serializationSpec, SerializableConsumer<io.github.xanthic.cache.core.CacheApiSpec<Object,com.fasterxml.jackson.databind.JavaType>> typeFactorySpec)
  • Method Details

    • forDeserializerCache

      public com.fasterxml.jackson.databind.util.LookupCache<com.fasterxml.jackson.databind.JavaType,com.fasterxml.jackson.databind.JsonDeserializer<Object>> forDeserializerCache(com.fasterxml.jackson.databind.DeserializationConfig config)
      Specified by:
      forDeserializerCache in interface com.fasterxml.jackson.databind.cfg.CacheProvider
    • forSerializerCache

      public com.fasterxml.jackson.databind.util.LookupCache<com.fasterxml.jackson.databind.util.TypeKey,com.fasterxml.jackson.databind.JsonSerializer<Object>> forSerializerCache(com.fasterxml.jackson.databind.SerializationConfig config)
      Specified by:
      forSerializerCache in interface com.fasterxml.jackson.databind.cfg.CacheProvider
    • forTypeFactory

      public com.fasterxml.jackson.databind.util.LookupCache<Object,com.fasterxml.jackson.databind.JavaType> forTypeFactory()
      Specified by:
      forTypeFactory in interface com.fasterxml.jackson.databind.cfg.CacheProvider
    • defaultInstance

      public static XanthicJacksonCacheProvider defaultInstance()
      Returns:
      a Jackson CacheProvider backed by Xanthic, using Jackson's recommended default max cache sizes.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object