org.eclipse.core.databinding.observable.map

## Interface IObservableMap<K,V>

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

All Superinterfaces:
  IObservable, Map<K,V>

All Known Implementing Classes:
  AbstractObservableMap, BidiObservableMap, BidirectionalMap, CompositeMap, ComputedObservableMap, DecoratingObservableMap, ObservableMap, WritableMap

    public interface IObservableMap<K,V>
    extends Map<K,V>, IObservable

Observable Map.

Since:
  1.1
See Also:
  `AbstractObservableMap`, `ObservableMap`
Restriction:
  This interface is not intended to be implemented by clients. Clients should instead subclass one of the classes that implement this interface. Note that direct implementers of this interface outside of the framework will be broken in future releases when methods are added to this interface.

### Nested Class Summary

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

`Map.Entry<K,V>`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addMapChangeListener(IMapChangeListener<? super K,? super V> listener)`
`boolean` `containsKey(Object key)`
`boolean` `containsValue(Object value)`
`Set<Map.Entry<K,V>>` `entrySet()`
`boolean` `equals(Object o)`
`V` `get(Object key)`
`Object` `getKeyType()` Returns the element type for the `keyset` of this observable map, or `null` if the keyset is untyped.
`Object` `getValueType()` Returns the element type for the `values` of this observable map, or `null` if the values collection is untyped.
`int` `hashCode()`
`boolean` `isEmpty()`
`Set<K>` `keySet()`
`V` `put(K key, V value)`
`V` `remove(Object key)`
`void` `removeMapChangeListener(IMapChangeListener<? super K,? super V> listener)`
`int` `size()`
`Collection<V>` `values()`

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

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

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

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

### Method Detail

#### getKeyType

    Object getKeyType()

Returns the element type for the `keyset` of this observable map, or `null` if the keyset is untyped.

Returns:
  the element type for the `keyset` of this observable map, or `null` if the keyset is untyped.
Since:
  1.2

#### getValueType

    Object getValueType()

Returns the element type for the `values` of this observable map, or `null` if the values collection is untyped.

Returns:
  the element type for the `values` of this observable map, or `null` if the values collection is untyped.
Since:
  1.2

#### addMapChangeListener

    void addMapChangeListener(IMapChangeListener<? super K,? super V> listener)

Parameters:
  `listener` -

#### removeMapChangeListener

    void removeMapChangeListener(IMapChangeListener<? super K,? super V> listener)

Parameters:
  `listener` -

#### size

    int size()

Specified by:
  `size` in interface `Map<K,V>`
"TrackedGetter"

#### isEmpty

    boolean isEmpty()

Specified by:
  `isEmpty` in interface `Map<K,V>`
"TrackedGetter"

#### containsKey

    boolean containsKey(Object key)

Specified by:
  `containsKey` in interface `Map<K,V>`
"TrackedGetter"

#### containsValue

    boolean containsValue(Object value)

Specified by:
  `containsValue` in interface `Map<K,V>`
"TrackedGetter"

#### get

    V get(Object key)

Specified by:
  `get` in interface `Map<K,V>`
"TrackedGetter"

#### put

    V put(K key,
          V value)

Specified by:
  `put` in interface `Map<K,V>`

#### remove

    V remove(Object key)

Specified by:
  `remove` in interface `Map<K,V>`

#### keySet

    Set<K> keySet()

Specified by:
  `keySet` in interface `Map<K,V>`
"TrackedGetter"

#### values

    Collection<V> values()

Specified by:
  `values` in interface `Map<K,V>`
"TrackedGetter"

#### entrySet

    Set<Map.Entry<K,V>> entrySet()

Specified by:
  `entrySet` in interface `Map<K,V>`
"TrackedGetter"

#### equals

    boolean equals(Object o)

Specified by:
  `equals` in interface `Map<K,V>`
Overrides:
  `equals` in class `Object`
"TrackedGetter"

#### hashCode

    int hashCode()

Specified by:
  `hashCode` in interface `Map<K,V>`
Overrides:
  `hashCode` in class `Object`
"TrackedGetter"