public class ObservableHashMap<K,V> extends SafeHashMap<K,V> implements ObservableMap<K,V>
This Map implements the ObservableMap interface, meaning it provides event notifications to any interested listener for each insert, update and delete.
Modifier and Type | Class and Description |
---|---|
protected class |
ObservableHashMap.Entry<K,V>
A holder for a cached value.
|
SafeHashMap.EntrySet, SafeHashMap.KeySet, SafeHashMap.ValuesCollection
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Modifier and Type | Field and Description |
---|---|
protected MapListenerSupport |
m_listenerSupport
The MapListenerSupport object.
|
BIGGEST_MODULO, DEFAULT_GROWTHRATE, DEFAULT_INITIALSIZE, DEFAULT_LOADFACTOR, m_aeBucket, m_cCapacity, m_cEntries, m_colValues, m_flGrowthRate, m_flLoadFactor, m_oIterActive, m_setEntries, m_setKeys, PRIME_MODULO, RESIZING
Constructor and Description |
---|
ObservableHashMap()
Construct the ObservableHashMap.
|
ObservableHashMap(int cInitialBuckets,
float flLoadFactor,
float flGrowthRate)
Construct an ObservableHashMap using the specified settings.
|
Modifier and Type | Method and Description |
---|---|
void |
addMapListener(MapListener listener)
Add a standard map listener that will receive all events (inserts,
updates, deletes) that occur against the map, with the key, old-value
and new-value included.
|
void |
addMapListener(MapListener<? super K,? super V> listener,
Filter filter,
boolean fLite)
Add a map listener that receives events based on a filter evaluation.
|
void |
addMapListener(MapListener<? super K,? super V> listener,
K key,
boolean fLite)
Add a map listener for a specific key.
|
void |
clear()
Remove everything from the cache, notifying any registered listeners.
|
protected void |
clear(boolean fTruncate) |
protected void |
dispatchEvent(MapEvent evt)
Dispatch the passed event.
|
protected MapListenerSupport |
getMapListenerSupport()
Accessor for the MapListenerSupport for sub-classes.
|
protected boolean |
hasListeners()
Determine if the OverflowMap has any listeners at all.
|
protected SafeHashMap.Entry<K,V> |
instantiateEntry()
Factory method.
|
V |
put(K key,
V value)
Store a value in the cache.
|
V |
remove(Object oKey)
Remove an entry from the cache.
|
void |
removeMapListener(MapListener listener)
Remove a standard map listener that previously signed up for all
events.
|
void |
removeMapListener(MapListener<? super K,? super V> listener,
Filter filter)
Remove a map listener that previously signed up for events based on a
filter evaluation.
|
void |
removeMapListener(MapListener<? super K,? super V> listener,
K key)
Remove a map listener that previously signed up for events about a
specific key.
|
void |
truncate()
Removes all mappings from this map.
|
clone, cloneEntryList, containsKey, entrySet, get, getBucketIndex, getEntry, getEntryInternal, getStableBucketArray, grow, instantiateEntry, instantiateEntrySet, instantiateKeySet, instantiateValuesCollection, isActiveIterator, isEmpty, iteratorActivated, iteratorDeactivated, keySet, removeEntryInternal, size, values
containsValue, equals, hashCode, putAll, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll, size, values
protected transient MapListenerSupport m_listenerSupport
public ObservableHashMap()
public ObservableHashMap(int cInitialBuckets, float flLoadFactor, float flGrowthRate)
cInitialBuckets
- the initial number of hash buckets, 0 < nflLoadFactor
- the acceptable load factor before resizing
occurs, 0 < n, such that a load factor of 1.0
causes resizing when the number of entries
exceeds the number of bucketsflGrowthRate
- the rate of bucket growth when a resize occurs,
0 < n, such that a growth rate of 1.0 will
double the number of buckets:
bucketCount = bucketCount * (1 + growthRate)public void clear()
public void addMapListener(MapListener listener)
ObservableMap
addMapListener(listener, (Filter) null, false);
addMapListener
in interface ObservableMap<K,V>
listener
- the MapEvent
listener to addpublic void removeMapListener(MapListener listener)
ObservableMap
removeMapListener(listener, (Filter) null);
removeMapListener
in interface ObservableMap<K,V>
listener
- the listener to removepublic void addMapListener(MapListener<? super K,? super V> listener, K key, boolean fLite)
ObservableMap
The listeners will receive MapEvent objects, but if fLite is passed as true, they might not contain the OldValue and NewValue properties.
To unregister the MapListener, use the
ObservableMap.removeMapListener(MapListener, Object)
method.
addMapListener
in interface ObservableMap<K,V>
listener
- the MapEvent
listener to addkey
- the key that identifies the entry for which to raise
eventsfLite
- true to indicate that the MapEvent
objects do
not have to include the OldValue and NewValue
property values in order to allow optimizationspublic void removeMapListener(MapListener<? super K,? super V> listener, K key)
ObservableMap
removeMapListener
in interface ObservableMap<K,V>
listener
- the listener to removekey
- the key that identifies the entry for which to raise
eventspublic void addMapListener(MapListener<? super K,? super V> listener, Filter filter, boolean fLite)
ObservableMap
The listeners will receive MapEvent objects, but if fLite is passed as true, they might not contain the OldValue and NewValue properties.
To unregister the MapListener, use the
ObservableMap.removeMapListener(MapListener, Filter)
method.
addMapListener
in interface ObservableMap<K,V>
listener
- the MapEvent
listener to addfilter
- a filter that will be passed MapEvent objects to select
from; a MapEvent will be delivered to the listener only
if the filter evaluates to true for that MapEvent (see
MapEventFilter
);
null is equivalent to a filter that alway returns truefLite
- true to indicate that the MapEvent
objects do
not have to include the OldValue and NewValue
property values in order to allow optimizationspublic void removeMapListener(MapListener<? super K,? super V> listener, Filter filter)
ObservableMap
removeMapListener
in interface ObservableMap<K,V>
listener
- the listener to removefilter
- the filter that was passed into the corresponding
addMapListener() callpublic void truncate()
protected MapListenerSupport getMapListenerSupport()
protected boolean hasListeners()
protected void dispatchEvent(MapEvent evt)
evt
- a CacheEvent objectprotected SafeHashMap.Entry<K,V> instantiateEntry()
instantiateEntry
in class SafeHashMap<K,V>
protected void clear(boolean fTruncate)