Class BidiObservableMap<K,V>
- java.lang.Object
-
- org.eclipse.core.databinding.observable.AbstractObservable
-
- org.eclipse.core.databinding.observable.DecoratingObservable
-
- org.eclipse.core.databinding.observable.map.DecoratingObservableMap<K,V>
-
- org.eclipse.core.databinding.observable.map.BidiObservableMap<K,V>
-
- Type Parameters:
K
- type of the keys in the mapV
- type of the values in the map
- All Implemented Interfaces:
Map<K,V>
,IDecoratingObservable
,IObservable
,IObservableMap<K,V>
public class BidiObservableMap<K,V> extends DecoratingObservableMap<K,V>
AnThis class is thread safe. All state accessing methods must be invoked from the
current realm
. Methods for adding and removing listeners may be invoked from any thread.- Since:
- 1.2
-
-
Constructor Summary
Constructors Constructor Description BidiObservableMap(IObservableMap<K,V> wrappedMap)
Constructs a BidirectionalMap tracking the given observable map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addListener(Object listenerType, IObservablesListener listener)
protected Object
clone()
boolean
containsValue(Object value)
void
dispose()
Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.protected void
fireEvent(ObservableEvent event)
protected void
firstListenerAdded()
Set<K>
getKeys(Object value)
Returns the Set of keys that currently map to the given value.Realm
getRealm()
protected void
handleMapChange(MapChangeEvent<? extends K,? extends V> event)
Called whenever a MapChangeEvent is received from the decorated observable.protected boolean
hasListeners()
protected void
lastListenerRemoved()
protected void
removeListener(Object listenerType, IObservablesListener listener)
-
Methods inherited from class org.eclipse.core.databinding.observable.map.DecoratingObservableMap
addMapChangeListener, clear, containsKey, entrySet, equals, fireChange, fireMapChange, get, getKeyType, getValueType, hashCode, isEmpty, keySet, put, putAll, remove, removeMapChangeListener, size, toString, values
-
Methods inherited from class org.eclipse.core.databinding.observable.DecoratingObservable
getDecorated, getterCalled, handleStaleEvent, isStale
-
Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.core.databinding.observable.IObservable
addChangeListener, addDisposeListener, addStaleListener, getRealm, isDisposed, isStale, removeChangeListener, removeDisposeListener, removeStaleListener
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Constructor Detail
-
BidiObservableMap
public BidiObservableMap(IObservableMap<K,V> wrappedMap)
Constructs a BidirectionalMap tracking the given observable map.- Parameters:
wrappedMap
- the observable map to track
-
-
Method Detail
-
firstListenerAdded
protected void firstListenerAdded()
- Overrides:
firstListenerAdded
in classDecoratingObservableMap<K,V>
-
lastListenerRemoved
protected void lastListenerRemoved()
- Overrides:
lastListenerRemoved
in classDecoratingObservableMap<K,V>
-
handleMapChange
protected void handleMapChange(MapChangeEvent<? extends K,? extends V> event)
Description copied from class:DecoratingObservableMap
Called whenever a MapChangeEvent is received from the decorated observable. By default, this method fires the map change event again, with the decorating observable as the event source. Subclasses may override to provide different behavior.- Overrides:
handleMapChange
in classDecoratingObservableMap<K,V>
- Parameters:
event
- the change event received from the decorated observable
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceIObservableMap<K,V>
- Specified by:
containsValue
in interfaceMap<K,V>
- Overrides:
containsValue
in classDecoratingObservableMap<K,V>
-
getKeys
public Set<K> getKeys(Object value)
Returns the Set of keys that currently map to the given value.- Parameters:
value
- the value associated with the keys in the returned Set.- Returns:
- the Set of keys that map to the given value. If no keys map to the given value, an empty set is returned.
-
dispose
public void dispose()
Description copied from interface:IObservable
Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.- Specified by:
dispose
in interfaceIObservable
- Overrides:
dispose
in classDecoratingObservableMap<K,V>
-
addListener
protected void addListener(Object listenerType, IObservablesListener listener)
- Parameters:
listenerType
- arbitrary object to identify a type of the listenerlistener
- the listener to add; notnull
-
removeListener
protected void removeListener(Object listenerType, IObservablesListener listener)
- Parameters:
listenerType
- arbitrary object to identify a type of the listenerlistener
- the listener to remove; notnull
-
hasListeners
protected boolean hasListeners()
-
fireEvent
protected void fireEvent(ObservableEvent event)
-
getRealm
public Realm getRealm()
- Returns:
- Returns the realm.
-
clone
protected Object clone() throws CloneNotSupportedException
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
-