Class CaffeineReferenceIdToKeyCacheImpl

  • All Implemented Interfaces:
    ReferenceIdToKeyCache

    public class CaffeineReferenceIdToKeyCacheImpl
    extends java.lang.Object
    implements ReferenceIdToKeyCache
    A Caffeine cache to store reference id to key pairs.

    Designed to be used as an reference in memory cache as a part of BaseTransformServiceImpl instances, such as ProductTransformService.

    The cache is implemented by the caffeine library which implements a LRU based cache eviction strategy. It means unused id to key pairs will be evicted, also it stores max 10000 pairs to ensure the minimum memory consumption.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(java.lang.String key, java.lang.String value)  
      void addAll​(java.util.Map<java.lang.String,​java.lang.String> idToKeyValues)  
      void clearCache()
      Discards all entries in the cache.
      boolean containsKey​(java.lang.String key)  
      java.lang.String get​(java.lang.String key)  
      void remove​(java.lang.String key)  
      • Methods inherited from class java.lang.Object

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

      • CaffeineReferenceIdToKeyCacheImpl

        public CaffeineReferenceIdToKeyCacheImpl()
    • Method Detail

      • add

        public void add​(java.lang.String key,
                        java.lang.String value)
        Specified by:
        add in interface ReferenceIdToKeyCache
        Parameters:
        key - key with which the specified value is to be associated.
        value - value to be associated with the specified key.
      • remove

        public void remove​(java.lang.String key)
        Specified by:
        remove in interface ReferenceIdToKeyCache
        Parameters:
        key - key whose mapping is to be removed from the map
      • addAll

        public void addAll​(java.util.Map<java.lang.String,​java.lang.String> idToKeyValues)
        Specified by:
        addAll in interface ReferenceIdToKeyCache
        Parameters:
        idToKeyValues - mappings to be stored in this cache.
      • containsKey

        public boolean containsKey​(java.lang.String key)
        Specified by:
        containsKey in interface ReferenceIdToKeyCache
        Parameters:
        key - key whose presence in this map is to be tested
        Returns:
        true if this map contains a mapping for the specified key in the cache.
      • get

        public java.lang.String get​(java.lang.String key)
        Specified by:
        get in interface ReferenceIdToKeyCache
        Parameters:
        key - the key whose associated value is to be returned.
        Returns:
        the value to which the specified key is mapped, or null if the cache contains no mapping for the key.