Module javafx.base
Package javafx.beans.property

## Class ReadOnlyMapPropertyBase<K,​V>

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

- 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>`

      public abstract class ReadOnlyMapPropertyBase<K,​V>
      extends ReadOnlyMapProperty<K,​V>

  Base class for all readonly properties wrapping an `ObservableMap`. This class provides a default implementation to attach listener.
  Since:
    JavaFX 2.1
  See Also:
    `ReadOnlyMapProperty`

- - ### Property Summary

    - ### Properties inherited from class javafx.beans.binding.MapExpression

      `empty, size`

  - ### Nested Class Summary

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

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

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ReadOnlyMapPropertyBase()` |

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(InvalidationListener listener)` | Adds an `InvalidationListener` which will be notified whenever the `Observable` becomes invalid.
    `void` | `addListener​(ChangeListener<? super ObservableMap<K,​V>> listener)` | Adds a `ChangeListener` which will be notified whenever the value of the `ObservableValue` changes.
    `void` | `addListener​(MapChangeListener<? super K,​? super V> listener)` | Add a listener to this observable map.
    `protected void` | `fireValueChangedEvent()` | This method needs to be called if the reference to the `ObservableList` changes.
    `protected void` | `fireValueChangedEvent​(MapChangeListener.Change<? extends K,​? extends V> change)` | This method needs to be called if the content of the referenced `ObservableList` changes.
    `void` | `removeListener​(InvalidationListener listener)` | Removes the given listener from the list of listeners, that are notified whenever the value of the `Observable` becomes invalid.
    `void` | `removeListener​(ChangeListener<? super ObservableMap<K,​V>> listener)` | Removes the given listener from the list of listeners that are notified whenever the value of the `ObservableValue` changes.
    `void` | `removeListener​(MapChangeListener<? super K,​? super V> listener)` | Tries to removed a listener from this observable map.

    - ### Methods inherited from class javafx.beans.property.ReadOnlyMapProperty

      `bindContent, bindContentBidirectional, equals, hashCode, toString, unbindContent, unbindContentBidirectional`

    - ### Methods inherited from class javafx.beans.binding.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 inherited from class java.lang.Object

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

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

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

    - ### Methods inherited from interface javafx.beans.value.ObservableObjectValue

      `get`

    - ### Methods inherited from interface javafx.beans.value.ObservableValue

      `getValue`

    - ### Methods inherited from interface javafx.beans.property.ReadOnlyProperty

      `getBean, getName`

- - ### Constructor Detail

    - #### ReadOnlyMapPropertyBase

          public ReadOnlyMapPropertyBase()

  - ### Method Detail

    - #### addListener

          public void addListener​(InvalidationListener listener)

      Description copied from interface: `Observable`
      Adds an `InvalidationListener` which will be notified whenever the `Observable` becomes invalid. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.

      Note that the same actual `InvalidationListener` instance may be safely registered for different `Observables`.

      The `Observable` stores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by calling `removeListener` after use or to use an instance of `WeakInvalidationListener` avoid this situation.

      Parameters:
        `listener` - The listener to register
      See Also:
        `Observable.removeListener(InvalidationListener)`

    - #### removeListener

          public void removeListener​(InvalidationListener listener)

      Description copied from interface: `Observable`
      Removes the given listener from the list of listeners, that are notified whenever the value of the `Observable` becomes invalid.

      If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.

      Parameters:
        `listener` - The listener to remove
      See Also:
        `Observable.addListener(InvalidationListener)`

    - #### addListener

          public void addListener​(ChangeListener<? super ObservableMap<K,​V>> listener)

      Description copied from interface: `ObservableValue`
      Adds a `ChangeListener` which will be notified whenever the value of the `ObservableValue` changes. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.

      Note that the same actual `ChangeListener` instance may be safely registered for different `ObservableValues`.

      The `ObservableValue` stores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by calling `removeListener` after use or to use an instance of `WeakChangeListener` avoid this situation.

      Parameters:
        `listener` - The listener to register
      See Also:
        `ObservableValue.removeListener(ChangeListener)`

    - #### removeListener

          public void removeListener​(ChangeListener<? super ObservableMap<K,​V>> listener)

      Description copied from interface: `ObservableValue`
      Removes the given listener from the list of listeners that are notified whenever the value of the `ObservableValue` changes.

      If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.

      Parameters:
        `listener` - The listener to remove
      See Also:
        `ObservableValue.addListener(ChangeListener)`

    - #### addListener

          public void addListener​(MapChangeListener<? super K,​? super V> listener)

      Description copied from interface: `ObservableMap`
      Add a listener to this observable map.
      Parameters:
        `listener` - the listener for listening to the list changes

    - #### removeListener

          public void removeListener​(MapChangeListener<? super K,​? super V> listener)

      Description copied from interface: `ObservableMap`
      Tries to removed a listener from this observable map. If the listener is not attached to this map, nothing happens.
      Parameters:
        `listener` - a listener to remove

    - #### fireValueChangedEvent

          protected void fireValueChangedEvent()

      This method needs to be called if the reference to the `ObservableList` changes. It sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `ListChangeListener`. This method needs to be called, if the value of this property changes.

    - #### fireValueChangedEvent

          protected void fireValueChangedEvent​(MapChangeListener.Change<? extends K,​? extends V> change)

      This method needs to be called if the content of the referenced `ObservableList` changes. Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `ListChangeListener`. This method is called when the content of the list changes.
      Parameters:
        `change` - the change that needs to be propagated