|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jackrabbit.core.cache.AbstractCache
public abstract class AbstractCache
Abstract base class for managed Caches. This class uses atomic
variables to track the current and maximum size of the cache, the cache
access count and a possible CacheAccessListener instance.
A subclass should call the protected recordCacheAccess() method
whenever the cache is accessed (even cache misses should be reported).
The subclass should also use the recordSizeChange(long) method
to record all changes in the cache size, and automatically evict excess
items when the isTooBig() method returns true.
| Constructor Summary | |
|---|---|
AbstractCache()
|
|
| Method Summary | |
|---|---|
void |
dispose()
|
long |
getAccessCount()
Get the number of accesses (get or set) until resetAccessCount was called. |
long |
getMaxMemorySize()
Get the current limit. |
long |
getMemoryUsed()
Get the amount of used memory. |
protected boolean |
isTooBig()
Checks whether the current estimate of the amount of memory used by this cache exceeds the allocated maximum amount of memory. |
protected void |
recordCacheAccess()
Records a single cache access and calls the configured CacheAccessListener (if any) whenever the constant access
interval has passed since the previous listener call. |
protected void |
recordSizeChange(long delta)
Updates the current memory use estimate of this cache. |
void |
resetAccessCount()
Reset the access counter. |
void |
setAccessListener(CacheAccessListener listener)
Set the cache access listener. |
void |
setMaxMemorySize(long size)
Set the new memory limit. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AbstractCache()
| Method Detail |
|---|
protected boolean isTooBig()
true if the cache size is too big,
false otherwiseprotected void recordSizeChange(long delta)
delta - number of bytes added or removedprotected void recordCacheAccess()
CacheAccessListener (if any) whenever the constant access
interval has passed since the previous listener call.
public long getAccessCount()
Cache
getAccessCount in interface Cachepublic void resetAccessCount()
Cache
resetAccessCount in interface Cachepublic long getMemoryUsed()
Cache
getMemoryUsed in interface Cachepublic long getMaxMemorySize()
Cache
getMaxMemorySize in interface Cachepublic void setMaxMemorySize(long size)
Cache
setMaxMemorySize in interface Cachesize - the size in bytespublic void setAccessListener(CacheAccessListener listener)
setAccessListener in interface Cachelistener - the new listenerpublic void dispose()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||