Class AbstractEhcacheCache

java.lang.Object
org.mybatis.caches.ehcache.AbstractEhcacheCache
All Implemented Interfaces:
org.apache.ibatis.cache.Cache
Direct Known Subclasses:
EhBlockingCache, EhcacheCache

public abstract class AbstractEhcacheCache extends Object implements org.apache.ibatis.cache.Cache
Cache adapter for Ehcache.
Author:
Simone Tripodi
  • Field Details

    • CACHE_MANAGER

      protected static net.sf.ehcache.CacheManager CACHE_MANAGER
      The cache manager reference.
    • id

      protected final String id
      The cache id (namespace).
    • cache

      protected net.sf.ehcache.Ehcache cache
      The cache instance.
  • Constructor Details

    • AbstractEhcacheCache

      public AbstractEhcacheCache(String id)
      Instantiates a new abstract ehcache cache.
      Parameters:
      id - the chache id (namespace)
  • Method Details

    • clear

      public void clear()
      Specified by:
      clear in interface org.apache.ibatis.cache.Cache
    • getId

      public String getId()
      Specified by:
      getId in interface org.apache.ibatis.cache.Cache
    • getObject

      public Object getObject(Object key)
      Specified by:
      getObject in interface org.apache.ibatis.cache.Cache
    • getSize

      public int getSize()
      Specified by:
      getSize in interface org.apache.ibatis.cache.Cache
    • putObject

      public void putObject(Object key, Object value)
      Specified by:
      putObject in interface org.apache.ibatis.cache.Cache
    • removeObject

      public Object removeObject(Object key)
      Specified by:
      removeObject in interface org.apache.ibatis.cache.Cache
    • unlock

      public void unlock(Object key)
    • equals

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

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

      public ReadWriteLock getReadWriteLock()
      Specified by:
      getReadWriteLock in interface org.apache.ibatis.cache.Cache
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • setTimeToIdleSeconds

      public void setTimeToIdleSeconds(long timeToIdleSeconds)
      Sets the time to idle for an element before it expires. Is only used if the element is not eternal.
      Parameters:
      timeToIdleSeconds - the default amount of time to live for an element from its last accessed or modified date
    • setTimeToLiveSeconds

      public void setTimeToLiveSeconds(long timeToLiveSeconds)
      Sets the time to idle for an element before it expires. Is only used if the element is not eternal.
      Parameters:
      timeToLiveSeconds - the default amount of time to live for an element from its creation date
    • setMaxEntriesLocalHeap

      public void setMaxEntriesLocalHeap(long maxEntriesLocalHeap)
      Sets the maximum objects to be held in memory (0 = no limit).
      Parameters:
      maxEntriesLocalHeap - The maximum number of elements in heap, before they are evicted (0 == no limit)
    • setMaxEntriesLocalDisk

      public void setMaxEntriesLocalDisk(long maxEntriesLocalDisk)
      Sets the maximum number elements on Disk. 0 means unlimited.
      Parameters:
      maxEntriesLocalDisk - the maximum number of Elements to allow on the disk. 0 means unlimited.
    • setMemoryStoreEvictionPolicy

      public void setMemoryStoreEvictionPolicy(String memoryStoreEvictionPolicy)
      Sets the eviction policy. An invalid argument will set it to null.
      Parameters:
      memoryStoreEvictionPolicy - a String representation of the policy. One of "LRU", "LFU" or "FIFO".