net.sf.ehcache.store
Class MemoryStore.SpoolingLinkedHashMap
java.lang.Object
java.util.AbstractMap
java.util.HashMap
java.util.LinkedHashMap
net.sf.ehcache.store.MemoryStore.SpoolingLinkedHashMap
- All Implemented Interfaces:
- java.lang.Cloneable, java.util.Map, java.io.Serializable
- Enclosing class:
- MemoryStore
- public class MemoryStore.SpoolingLinkedHashMap
- extends java.util.LinkedHashMap
An extension of LinkedHashMap which overrides removeEldestEntry(java.util.Map.Entry)
to persist cache entries to the auxiliary cache before they are removed.
This implementation also provides LRU by access order.
- See Also:
- Serialized Form
Nested classes inherited from class java.util.LinkedHashMap |
|
Nested classes inherited from class java.util.AbstractMap |
|
Fields inherited from class java.util.HashMap |
|
Fields inherited from class java.util.AbstractMap |
|
Method Summary |
protected boolean |
removeEldestEntry(java.util.Map.Entry eldest)
Returns true if this map should remove its eldest entry. |
Methods inherited from class java.util.LinkedHashMap |
clear, containsValue, get |
Methods inherited from class java.util.HashMap |
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values |
Methods inherited from class java.util.AbstractMap |
equals, hashCode, toString |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
equals, hashCode |
MemoryStore.SpoolingLinkedHashMap
public MemoryStore.SpoolingLinkedHashMap()
- Default constructor.
Will create an initial capacity of 100, a loading of .75 and
LRU by access order.
removeEldestEntry
protected boolean removeEldestEntry(java.util.Map.Entry eldest)
- Returns true if this map should remove its eldest entry.
This method is invoked by put and putAll after
inserting a new entry into the map. It provides the implementer
with the opportunity to remove the eldest entry each time a new one
is added. This is useful if the map represents a cache: it allows
the map to reduce memory consumption by deleting stale entries.
Will return true if:
- the element has expired
- the cache size is greater than the in-memory actual.
In this case we spool to disk before returning.
- Parameters:
eldest
- The least recently inserted entry in the map, or if
this is an access-ordered map, the least recently accessed
entry. This is the entry that will be removed it this
method returns true. If the map was empty prior
to the put or putAll invocation resulting
in this invocation, this will be the entry that was just
inserted; in other words, if the map contains a single
entry, the eldest entry is also the newest.
- Returns:
- true if the eldest entry should be removed
from the map; false if it should be retained.