Class AbstractMapBasedCacheRegion
- java.lang.Object
-
- de.hybris.platform.regioncache.region.impl.AbstractMapBasedCacheRegion
-
- All Implemented Interfaces:
CacheRegion
- Direct Known Subclasses:
LRUCacheRegion,UnlimitedCacheRegion
public abstract class AbstractMapBasedCacheRegion extends java.lang.Object implements CacheRegion
Abstract class for all map based cache region implementations.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<CacheKey,java.lang.Object>cacheMapprotected java.lang.String[]handledTypesprotected CacheLifecycleCallbacklifecycleCallbackprotected java.lang.Stringnameprotected CacheStatisticsstatsprotected booleanstatsEnabled
-
Constructor Summary
Constructors Constructor Description AbstractMapBasedCacheRegion(java.lang.String name, boolean statsEnabled)AbstractMapBasedCacheRegion(java.lang.String name, CacheStatistics stats, boolean statsEnabled)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclearCache()Removes all elements from cache.booleancontainsKey(CacheKey key)Checks if key is in the cache map.booleanequals(java.lang.Object obj)java.lang.Objectget(CacheKey key)Gets value from the cache.java.util.Collection<CacheKey>getAllKeys()Returns all keys currently stored in this region.CacheStatisticsgetCacheRegionStatistics()Gets statistics for current region.java.lang.String[]getHandledTypes()Gets types which can be stored in the region.longgetMaxReachedSize()Returns number of elements currently in the cachejava.lang.StringgetName()Gets region name.java.lang.ObjectgetWithLoader(CacheKey key, CacheValueLoader loader)Gets value from cache.inthashCode()java.lang.Objectinvalidate(CacheKey key, boolean fireEventsEvenIfNotRemoved)Invalidates (removes) value from cache map.booleanisStatsEnabled()protected abstract java.lang.ObjectputIfAbsent(CacheKey key, java.lang.Object value)voidregisterLifecycleCallback(CacheLifecycleCallback callback)This callback shall be called when eviction occurs.java.lang.Objectremove(CacheKey key, boolean fireEvents)Removes value stored on the key specified.voidsetHandledTypes(java.lang.String[] handledTypes)voidsetStatsEnabled(boolean enabled)java.lang.StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.regioncache.region.CacheRegion
getCacheMaxEntries
-
-
-
-
Field Detail
-
cacheMap
protected java.util.Map<CacheKey,java.lang.Object> cacheMap
-
handledTypes
protected java.lang.String[] handledTypes
-
lifecycleCallback
protected CacheLifecycleCallback lifecycleCallback
-
name
protected final java.lang.String name
-
stats
protected final CacheStatistics stats
-
statsEnabled
protected volatile boolean statsEnabled
-
-
Constructor Detail
-
AbstractMapBasedCacheRegion
public AbstractMapBasedCacheRegion(java.lang.String name, boolean statsEnabled)
-
AbstractMapBasedCacheRegion
public AbstractMapBasedCacheRegion(java.lang.String name, CacheStatistics stats, boolean statsEnabled)
-
-
Method Detail
-
setHandledTypes
public void setHandledTypes(java.lang.String[] handledTypes)
-
getWithLoader
public java.lang.Object getWithLoader(CacheKey key, CacheValueLoader loader) throws CacheValueLoadException
Description copied from interface:CacheRegionGets value from cache. Invokes loader if necessary. Must be thread safe.- Specified by:
getWithLoaderin interfaceCacheRegion- Throws:
CacheValueLoadException
-
putIfAbsent
protected abstract java.lang.Object putIfAbsent(CacheKey key, java.lang.Object value)
-
get
public java.lang.Object get(CacheKey key)
Description copied from interface:CacheRegionGets value from the cache. If value is absent returns null. Must be thread safe.- Specified by:
getin interfaceCacheRegion
-
invalidate
public java.lang.Object invalidate(CacheKey key, boolean fireEventsEvenIfNotRemoved)
Description copied from interface:CacheRegionInvalidates (removes) value from cache map. Must be thread safe.- Specified by:
invalidatein interfaceCacheRegion- Returns:
- an object invalidated from cache.
-
getName
public java.lang.String getName()
Description copied from interface:CacheRegionGets region name. Needed to resolve proper cache region.- Specified by:
getNamein interfaceCacheRegion
-
getHandledTypes
public java.lang.String[] getHandledTypes()
Description copied from interface:CacheRegionGets types which can be stored in the region. Needed to resolve proper cache region.
Special type names are defined inRegionType.- Specified by:
getHandledTypesin interfaceCacheRegion
-
getCacheRegionStatistics
public CacheStatistics getCacheRegionStatistics()
Description copied from interface:CacheRegionGets statistics for current region.- Specified by:
getCacheRegionStatisticsin interfaceCacheRegion
-
clearCache
public void clearCache()
Description copied from interface:CacheRegionRemoves all elements from cache.- Specified by:
clearCachein interfaceCacheRegion
-
registerLifecycleCallback
public void registerLifecycleCallback(CacheLifecycleCallback callback)
Description copied from interface:CacheRegionThis callback shall be called when eviction occurs.- Specified by:
registerLifecycleCallbackin interfaceCacheRegion
-
getMaxReachedSize
public long getMaxReachedSize()
Description copied from interface:CacheRegionReturns number of elements currently in the cache- Specified by:
getMaxReachedSizein interfaceCacheRegion
-
getAllKeys
public java.util.Collection<CacheKey> getAllKeys()
Description copied from interface:CacheRegionReturns all keys currently stored in this region.- Specified by:
getAllKeysin interfaceCacheRegion
-
remove
public java.lang.Object remove(CacheKey key, boolean fireEvents)
Description copied from interface:CacheRegionRemoves value stored on the key specified. This method does not update statistics. Returns value removed or null.- Specified by:
removein interfaceCacheRegion
-
containsKey
public boolean containsKey(CacheKey key)
Description copied from interface:CacheRegionChecks if key is in the cache map.- Specified by:
containsKeyin interfaceCacheRegion
-
setStatsEnabled
public void setStatsEnabled(boolean enabled)
- Specified by:
setStatsEnabledin interfaceCacheRegion
-
isStatsEnabled
public boolean isStatsEnabled()
- Specified by:
isStatsEnabledin interfaceCacheRegion
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-