Package org.eclipse.core.databinding.observable.map

## Class BidirectionalMap<K,​V>

- java.lang.Object
- - org.eclipse.core.databinding.observable.AbstractObservable
  - - org.eclipse.core.databinding.observable.map.ObservableMap<K,​V>
    - - org.eclipse.core.databinding.observable.map.BidirectionalMap<K,​V>

Type Parameters:
  `K` - type of the keys to the map
  `V` - type of the values in the map

All Implemented Interfaces:
  `Map<K,​V>`, `IObservable`, `IObservableMap<K,​V>`

    @Deprecated
    public class BidirectionalMap<K,​V>
    extends ObservableMap<K,​V>

Deprecated.
This class is deprecated; use `BidiObservableMap` instead.

This 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.0

### Nested Class Summary

### Nested classes/interfaces inherited from interface java.util.Map

`Map.Entry<K extends Object,​V extends Object>`

### Field Summary

### Fields inherited from class org.eclipse.core.databinding.observable.map.ObservableMap

`wrappedMap`

### Constructor Summary

Constructors
`BidirectionalMap​(IObservableMap<K,​V> wrappedMap)` Deprecated.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected void` `addListener​(Object listenerType, IObservablesListener listener)`
`protected Object` `clone()`
`protected void` `fireEvent​(ObservableEvent event)`
`protected void` `firstListenerAdded()`
`Realm` `getRealm()`
`protected boolean` `hasListeners()`
`protected void` `lastListenerRemoved()`
`protected void` `removeListener​(Object listenerType, IObservablesListener listener)`

### Methods inherited from class org.eclipse.core.databinding.observable.map.ObservableMap

`addMapChangeListener, clear, containsKey, containsValue, entrySet, equals, fireMapChange, get, getKeyType, getterCalled, getValueType, hashCode, isEmpty, isStale, keySet, put, putAll, remove, removeMapChangeListener, setStale, size, values`

### Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable

`addChangeListener, addDisposeListener, addStaleListener, checkRealm, dispose, fireChange, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.core.databinding.observable.IObservable

`addChangeListener, addDisposeListener, addStaleListener, dispose, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener`

### Methods inherited from interface java.util.Map

`compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll`

### Constructor Detail

#### BidirectionalMap

    public BidirectionalMap​(IObservableMap<K,​V> wrappedMap)

Deprecated.

Parameters:
  `wrappedMap` - backing store for the map data, used to implement all map operations

### Method Detail

#### addListener

    protected void addListener​(Object listenerType,
                               IObservablesListener listener)

Parameters:
  `listenerType` - arbitrary object to identify a type of the listener
  `listener` - the listener to add; not `null`

#### removeListener

    protected void removeListener​(Object listenerType,
                                  IObservablesListener listener)

Parameters:
  `listenerType` - arbitrary object to identify a type of the listener
  `listener` - the listener to remove; not `null`

#### hasListeners

    protected boolean hasListeners()

#### fireEvent

    protected void fireEvent​(ObservableEvent event)

#### firstListenerAdded

    protected void firstListenerAdded()

#### lastListenerRemoved

    protected void lastListenerRemoved()

#### getRealm

    public Realm getRealm()

Returns:
  Returns the realm.

#### clone

    protected Object clone()
                    throws CloneNotSupportedException

Overrides:
  `clone` in class `Object`
Throws:
  `CloneNotSupportedException`