# Class ReadOnlyMapProperty<K,V>

java.lang.Object
javafx.beans.binding.MapExpression<K,V>
javafx.beans.property.ReadOnlyMapProperty<K,V>

Type Parameters:
  `K` - the type of the key elements of the map
  `V` - the type of the value elements of the map

All Implemented Interfaces:
  `Map<K,V>, Observable, ReadOnlyProperty<ObservableMap<K,V>>, ObservableMapValue<K,V>, ObservableObjectValue<ObservableMap<K,V>>, ObservableValue<ObservableMap<K,V>>, ObservableMap<K,V>`

Direct Known Subclasses:
  `MapProperty, ReadOnlyMapPropertyBase`

public abstract class ReadOnlyMapProperty<K,V> extends MapExpression<K,V> implements ReadOnlyProperty<ObservableMap<K,V>>
Superclass for all readonly properties wrapping an `ObservableMap`.

Since:
  JavaFX 2.1
See Also:
  - `ObservableMap`
  - `ObservableMapValue`
  - `MapExpression`
  - `ReadOnlyProperty`

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface Map

  `Map.Entry<K,V>`

- ## Property Summary

  ### Properties declared in class MapExpression

  `empty, size`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ReadOnlyMapProperty()`
  The constructor of `ReadOnlyMapProperty`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `bindContent(ObservableMap<K,V> map)`
  Creates a content binding between the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `ObservableMap`.
  `void`
  `bindContentBidirectional(ObservableMap<K,V> map)`
  Creates a bidirectional content binding of the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `ObservableMap`.
  `boolean`
  `equals(Object obj)`
  `int`
  `hashCode()`
  Returns a hash code for this `ReadOnlyMapProperty` object.
  `String`
  `toString()`
  Returns a string representation of this `ReadOnlyMapProperty` object.
  `void`
  `unbindContent(Object object)`
  Deletes a content binding between the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `Object`.
  `void`
  `unbindContentBidirectional(Object object)`
  Deletes a bidirectional content binding between the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `Object`.

  ### Methods declared in class MapExpression

  `asString, clear, containsKey, containsValue, emptyProperty, entrySet, get, getSize, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, keySet, mapExpression, put, putAll, remove, size, sizeProperty, valueAt, valueAt, values`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods declared in interface Map

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

  ### Methods declared in interface Observable

  `addListener, removeListener, subscribe`

  ### Methods declared in interface ObservableMap

  `addListener, removeListener`

  ### Methods declared in interface ObservableObjectValue

  `get`

  ### Methods declared in interface ObservableValue

  `addListener, flatMap, getValue, map, orElse, removeListener, subscribe, subscribe, when`

  ### Methods declared in interface ReadOnlyProperty

  `getBean, getName`

- ## Constructor Details

  - ### ReadOnlyMapProperty

    public ReadOnlyMapProperty()
    The constructor of `ReadOnlyMapProperty`.

- ## Method Details

  - ### bindContentBidirectional

    public void bindContentBidirectional(ObservableMap<K,V> map)
    Creates a bidirectional content binding of the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `ObservableMap`.

    A bidirectional content binding ensures that the content of two `ObservableMaps` is the same. If the content of one of the maps changes, the other one will be updated automatically.

    Parameters:
      `map` - the `ObservableMap` this property should be bound to
    Throws:
      `NullPointerException` - if `map` is `null`
      `IllegalArgumentException` - if `map` is the same map that this `ReadOnlyMapProperty` points to

  - ### unbindContentBidirectional

    public void unbindContentBidirectional(Object object)
    Deletes a bidirectional content binding between the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `Object`.
    Parameters:
      `object` - the `Object` to which the bidirectional binding should be removed
    Throws:
      `NullPointerException` - if `object` is `null`
      `IllegalArgumentException` - if `object` is the same map that this `ReadOnlyMapProperty` points to

  - ### bindContent

    public void bindContent(ObservableMap<K,V> map)
    Creates a content binding between the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `ObservableMap`.

    A content binding ensures that the content of the wrapped `ObservableMaps` is the same as that of the other map. If the content of the other map changes, the wrapped map will be updated automatically. Once the wrapped list is bound to another map, you must not change it directly.

    Parameters:
      `map` - the `ObservableMap` this property should be bound to
    Throws:
      `NullPointerException` - if `map` is `null`
      `IllegalArgumentException` - if `map` is the same map that this `ReadOnlyMapProperty` points to

  - ### unbindContent

    public void unbindContent(Object object)
    Deletes a content binding between the `ObservableMap`, that is wrapped in this `ReadOnlyMapProperty`, and another `Object`.
    Parameters:
      `object` - the `Object` to which the binding should be removed
    Throws:
      `NullPointerException` - if `object` is `null`
      `IllegalArgumentException` - if `object` is the same map that this `ReadOnlyMapProperty` points to

  - ### equals

    public boolean equals(Object obj)
    Specified by:
      `equals` in interface `Map<K,V>`
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Returns a hash code for this `ReadOnlyMapProperty` object.
    Specified by:
      `hashCode` in interface `Map<K,V>`
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code for this `ReadOnlyMapProperty` object.

  - ### toString

    public String toString()
    Returns a string representation of this `ReadOnlyMapProperty` object.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `ReadOnlyMapProperty` object.