|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.knowgate.cache.LRUCachePolicy
public final class LRUCachePolicy
LRU Cache Policy
Implementation of a Least Recently Used cache policy.
| Nested Class Summary | |
|---|---|
class |
LRUCachePolicy.LRUCacheEntry
Double linked cell used as entry in the cache list. |
class |
LRUCachePolicy.LRUList
Double queued list used to store cache entries. |
| Field Summary | |
|---|---|
protected LRUCachePolicy.LRUList |
m_list
The linked list used to implement the LRU algorithm |
protected java.util.HashMap |
m_map
The map holding the cached objects |
protected int |
m_maxCapacity
The maximum capacity of this cache |
protected int |
m_minCapacity
The minimum capacity of this cache |
| Constructor Summary | |
|---|---|
LRUCachePolicy()
Creates a LRU cache policy object with zero cache capacity. |
|
LRUCachePolicy(int min,
int max)
Creates a LRU cache policy object with the specified minimum and maximum capacity. |
|
| Method Summary | |
|---|---|
protected void |
ageOut(LRUCachePolicy.LRUCacheEntry entry)
Callback method called when the cache algorithm ages out of the cache the given entry. |
protected void |
cacheMiss()
Callback method called when a cache miss happens. |
protected LRUCachePolicy.LRUCacheEntry |
createCacheEntry(java.lang.Object key,
java.lang.Object value,
long t)
Factory method for cache entries |
protected LRUCachePolicy.LRUList |
createList()
Factory method for the linked list used by this cache implementation. |
void |
destroy()
Destroys the cache that is now unusable. |
void |
flush()
|
java.lang.Object |
get(java.lang.Object key)
|
void |
insert(java.lang.Object key,
java.lang.Object o,
long t)
|
java.util.Set |
keySet()
|
long |
last(java.lang.Object key)
|
java.lang.Object |
peek(java.lang.Object key)
|
void |
remove(java.lang.Object key)
|
int |
size()
|
void |
start()
Starts this cache that is now ready to be used. |
void |
stop()
Stops this cache thus flush()ing all cached objects. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.util.HashMap m_map
protected LRUCachePolicy.LRUList m_list
protected int m_maxCapacity
protected int m_minCapacity
| Constructor Detail |
|---|
public LRUCachePolicy()
create()
public LRUCachePolicy(int min,
int max)
create()| Method Detail |
|---|
public void start()
create(),
stop()public void stop()
flush()ing all cached objects. start() will restart the cache.
start(),
destroy()public void destroy()
create()ed and re-start()ed.
create()public java.util.Set keySet()
public long last(java.lang.Object key)
public java.lang.Object get(java.lang.Object key)
public java.lang.Object peek(java.lang.Object key)
public void insert(java.lang.Object key,
java.lang.Object o,
long t)
public void remove(java.lang.Object key)
public void flush()
public int size()
protected LRUCachePolicy.LRUList createList()
protected void ageOut(LRUCachePolicy.LRUCacheEntry entry)
protected void cacheMiss()
protected LRUCachePolicy.LRUCacheEntry createCacheEntry(java.lang.Object key,
java.lang.Object value,
long t)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||