|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.jcs.utils.struct.LRUMap
This is a simple LRUMap. It implements most of the map methods. It is not recommended that you use any but put, get, remove, and clear.
Children can implement the processRemovedLRU method if they want to handle the removal of the lest recently used item.
This class was abstracted out of the LRU Memory cache. Put, remove, and get should be thread safe. It uses a hashtable and our own double linked list.
Locking is done on the instance.
| Nested Class Summary |
| Nested classes inherited from class java.util.Map |
java.util.Map.Entry |
| Field Summary | |
protected java.util.Map |
map
Map where items are stored by key |
| Constructor Summary | |
LRUMap()
This creates an unbounded version. |
|
LRUMap(int maxObjects)
This sets the size limit. |
|
| Method Summary | |
void |
clear()
|
boolean |
containsKey(java.lang.Object key)
|
boolean |
containsValue(java.lang.Object value)
|
void |
dumpCacheEntries()
Dump the cache entries from first to list for debugging. |
void |
dumpMap()
Dump the cache map for debugging. |
java.util.Set |
entrySet()
|
java.lang.Object |
get(java.lang.Object key)
|
int |
getChunkSize()
|
java.lang.Object |
getQuiet(java.lang.Object key)
|
IStats |
getStatistics()
|
boolean |
isEmpty()
|
java.util.Set |
keySet()
|
protected void |
processRemovedLRU(java.lang.Object key,
java.lang.Object value)
This is called when an item is removed from the LRU. |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
|
void |
putAll(java.util.Map source)
|
java.lang.Object |
remove(java.lang.Object key)
|
void |
setChunkSize(int chunkSize)
The chunk size is the number of items to remove when the max is reached. |
int |
size()
|
java.util.Collection |
values()
|
protected void |
verifyCache()
Checks to see if all the items that should be in the cache are. |
protected void |
verifyCache(java.lang.Object key)
Logs an error is an element that should be in the cache is not. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.util.Map |
equals, hashCode |
| Field Detail |
protected java.util.Map map
| Constructor Detail |
public LRUMap()
public LRUMap(int maxObjects)
maxObjects - | Method Detail |
public int size()
size in interface java.util.Mappublic void clear()
clear in interface java.util.Mappublic boolean isEmpty()
isEmpty in interface java.util.Mappublic boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Mappublic boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Mappublic java.util.Collection values()
values in interface java.util.Mappublic void putAll(java.util.Map source)
putAll in interface java.util.Mappublic java.util.Set entrySet()
entrySet in interface java.util.Mappublic java.util.Set keySet()
keySet in interface java.util.Mappublic java.lang.Object get(java.lang.Object key)
get in interface java.util.Mappublic java.lang.Object getQuiet(java.lang.Object key)
key -
public java.lang.Object remove(java.lang.Object key)
remove in interface java.util.Map
public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
put in interface java.util.Mappublic void dumpCacheEntries()
public void dumpMap()
protected void verifyCache()
protected void verifyCache(java.lang.Object key)
key -
protected void processRemovedLRU(java.lang.Object key,
java.lang.Object value)
Children can implement this method for special behavior.
key - value - public void setChunkSize(int chunkSize)
chunkSize - The chunkSize to set.public int getChunkSize()
public IStats getStatistics()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||