Module javafx.base
Package javafx.beans.property

# Class ReadOnlyObjectPropertyBase<T>

java.lang.Object
javafx.beans.binding.ObjectExpression<T>
javafx.beans.property.ReadOnlyObjectProperty<T>
javafx.beans.property.ReadOnlyObjectPropertyBase<T>

Type Parameters:
  `T` - the type of the wrapped `Object`

All Implemented Interfaces:
  `Observable`, `ReadOnlyProperty<T>`, `ObservableObjectValue<T>`, `ObservableValue<T>`

Direct Known Subclasses:
  `ReadOnlyJavaBeanObjectProperty`

public abstract class ReadOnlyObjectPropertyBase<T> extends ReadOnlyObjectProperty<T>
Base class for all readonly properties wrapping an arbitrary `Object`. This class provides a default implementation to attach listener.

Since:
  JavaFX 2.0
See Also:
  - `ReadOnlyObjectProperty`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ReadOnlyObjectPropertyBase()`
  Creates a default `ReadOnlyObjectPropertyBase`.

- ## 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 T> listener)`
  Adds a `ChangeListener` which will be notified whenever the value of the `ObservableValue` changes.
  `protected void`
  `fireValueChangedEvent()`
  Sends notifications to all attached `InvalidationListeners` and `ChangeListeners`.
  `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 T> listener)`
  Removes the given listener from the list of listeners that are notified whenever the value of the `ObservableValue` changes.

  ### Methods declared in class javafx.beans.property.ReadOnlyObjectProperty

  `toString`

  ### Methods declared in class javafx.beans.binding.ObjectExpression

  `asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression`

  ### Methods declared in class java.lang.Object

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

  ### Methods declared in interface javafx.beans.Observable

  `subscribe`

  ### Methods declared in interface javafx.beans.value.ObservableObjectValue

  `get`

  ### Methods declared in interface javafx.beans.value.ObservableValue

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

  ### Methods declared in interface javafx.beans.property.ReadOnlyProperty

  `getBean, getName`

- ## Constructor Details

  - ### ReadOnlyObjectPropertyBase

    public ReadOnlyObjectPropertyBase()
    Creates a default `ReadOnlyObjectPropertyBase`.

- ## Method Details

  - ### 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 T> 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 T> 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)`

  - ### fireValueChangedEvent

    protected void fireValueChangedEvent()
    Sends notifications to all attached `InvalidationListeners` and `ChangeListeners`. This method needs to be called, if the value of this property changes.