|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.castor.cache.hashbelt.container.WeakReferenceContainer
public final class WeakReferenceContainer
An implementation of a container that uses weak references for storing values in the map, so that values can be removed from the map by the system when the system is under memory pressure. Keys, however, are kept strong - so contains() may well find an element, but the value may have been lost. Make sure you test for null returns from put.
Note that keys are hard references; in a situation where OutOfMemory will occur, the JVM will first wipe out all unreferenced objects whose only link is a weak reference. An out of memory will wipe all values from the maps which are currently unreferenced. The keys remain until the hashbelt containers are garbage collected, an put is called with that key or when the value should be accessed through any operation of the Container interface.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface java.util.Map |
---|
java.util.Map.Entry<K,V> |
Constructor Summary | |
---|---|
WeakReferenceContainer()
|
Method Summary | |
---|---|
void |
clear()
|
boolean |
containsKey(java.lang.Object key)
|
boolean |
containsValue(java.lang.Object value)
|
java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> |
entrySet()
|
java.lang.Object |
get(java.lang.Object key)
|
long |
getTimestamp()
Returns the timestamp of this container. |
boolean |
isEmpty()
|
java.util.Iterator<java.lang.Object> |
keyIterator()
Returns an iterator over the keys contained in this container. |
java.util.Set<java.lang.Object> |
keySet()
|
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
|
void |
putAll(java.util.Map<? extends java.lang.Object,? extends java.lang.Object> map)
|
java.lang.Object |
remove(java.lang.Object key)
|
int |
size()
|
void |
updateTimestamp()
Set the timestamp of this container to System.currentTimeMillis(). |
java.util.Iterator<java.lang.Object> |
valueIterator()
Returns an iterator over the values contained in this container. |
java.util.Collection<java.lang.Object> |
values()
|
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 |
Constructor Detail |
---|
public WeakReferenceContainer()
Method Detail |
---|
public void updateTimestamp()
updateTimestamp
in interface Container
public long getTimestamp()
getTimestamp
in interface Container
public java.util.Iterator<java.lang.Object> keyIterator()
keyIterator
in interface Container
public java.util.Iterator<java.lang.Object> valueIterator()
valueIterator
in interface Container
public int size()
size
in interface java.util.Map<java.lang.Object,java.lang.Object>
public boolean isEmpty()
isEmpty
in interface java.util.Map<java.lang.Object,java.lang.Object>
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<java.lang.Object,java.lang.Object>
public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<java.lang.Object,java.lang.Object>
public java.lang.Object get(java.lang.Object key)
get
in interface java.util.Map<java.lang.Object,java.lang.Object>
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
put
in interface java.util.Map<java.lang.Object,java.lang.Object>
public java.lang.Object remove(java.lang.Object key)
remove
in interface java.util.Map<java.lang.Object,java.lang.Object>
public void putAll(java.util.Map<? extends java.lang.Object,? extends java.lang.Object> map)
putAll
in interface java.util.Map<java.lang.Object,java.lang.Object>
public void clear()
clear
in interface java.util.Map<java.lang.Object,java.lang.Object>
public java.util.Set<java.lang.Object> keySet()
keySet
in interface java.util.Map<java.lang.Object,java.lang.Object>
public java.util.Collection<java.lang.Object> values()
values
in interface java.util.Map<java.lang.Object,java.lang.Object>
public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet()
entrySet
in interface java.util.Map<java.lang.Object,java.lang.Object>
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |