|
Knopflerfish OSGi 5.2.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.knopflerfish.util.CacheMap<K,V>
public class CacheMap<K,V>
Timeout version of a HashMap.
Entries in the map have a limited life-length, and the get
method will only return the stored object during a limited time period.
After the timeout period, the object will be removed.
CachedObject,
Serialized Form| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface java.util.Map |
|---|
java.util.Map.Entry<K,V> |
| Field Summary | |
|---|---|
protected long |
timeout
|
| Constructor Summary | |
|---|---|
CacheMap()
Create a map with default timeout period. |
|
CacheMap(long timeout)
Create a map with a specified timeout period. |
|
| Method Summary | |
|---|---|
void |
clear()
|
boolean |
containsKey(java.lang.Object key)
Check if an object exists in the map. |
boolean |
containsValue(java.lang.Object value)
|
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet()
|
V |
get(java.lang.Object key)
Get an object from the map. |
boolean |
isEmpty()
|
java.util.Set<K> |
keySet()
|
V |
put(K key,
V value)
Store an object in the map. |
void |
putAll(java.util.Map<? extends K,? extends V> m)
|
V |
remove(java.lang.Object key)
|
int |
size()
|
void |
update()
Force timeout check on all items in map and remove all expired keys and objects. |
java.util.Collection<V> |
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 |
| Field Detail |
|---|
protected long timeout
| Constructor Detail |
|---|
public CacheMap()
Equivalent to CacheMap(CachedObject.DEFAULT_TIMEOUT)
CachedObject.DEFAULT_TIMEOUT,
CachedObjectpublic CacheMap(long timeout)
After an object has been stored in the map using put, it
will only be available for timeout milliseconds. After
that period, get will return null
timeout - timeout period in milliseconds for cached objects.| Method Detail |
|---|
public V get(java.lang.Object key)
null.
Note: Since the timeout check is done for each cached object, be
careful when looping over a map using iterators or other sequences of
get. The result from a new get can become
null faster than you might think. Thus always
check for null return values from get.
get in interface java.util.Map<K,V>public boolean containsKey(java.lang.Object key)
false.
containsKey in interface java.util.Map<K,V>
public V put(K key,
V value)
put in interface java.util.Map<K,V>public void update()
Normally, the timeout check is only done at get calls, but if
necessary (for example at periodic complete printouts or before loops) you
can (and probably want to) force a timeout check on all cached objects.
public int size()
size in interface java.util.Map<K,V>public boolean isEmpty()
isEmpty in interface java.util.Map<K,V>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<K,V>public V remove(java.lang.Object key)
remove in interface java.util.Map<K,V>public void putAll(java.util.Map<? extends K,? extends V> m)
putAll in interface java.util.Map<K,V>public void clear()
clear in interface java.util.Map<K,V>public java.util.Set<K> keySet()
keySet in interface java.util.Map<K,V>public java.util.Collection<V> values()
values in interface java.util.Map<K,V>public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
entrySet in interface java.util.Map<K,V>
|
Knopflerfish OSGi 5.2.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||