Module javafx.base
Package javafx.beans.property.adapter

# Class ReadOnlyJavaBeanDoubleProperty

java.lang.Object
javafx.beans.binding.NumberExpressionBase
javafx.beans.binding.DoubleExpression
javafx.beans.property.ReadOnlyDoubleProperty
javafx.beans.property.ReadOnlyDoublePropertyBase
javafx.beans.property.adapter.ReadOnlyJavaBeanDoubleProperty

All Implemented Interfaces:
  `NumberExpression`, `Observable`, `ReadOnlyJavaBeanProperty<Number>`, `ReadOnlyProperty<Number>`, `ObservableDoubleValue`, `ObservableNumberValue`, `ObservableValue<Number>`

    public final class ReadOnlyJavaBeanDoubleProperty
    extends ReadOnlyDoublePropertyBase
    implements ReadOnlyJavaBeanProperty<Number>

A `ReadOnlyJavaBeanDoubleProperty` provides an adapter between a regular read only Java Bean property of type `double` or `Double` and a JavaFX `ReadOnlyDoubleProperty`. It cannot be created directly, but a `ReadOnlyJavaBeanDoublePropertyBuilder` has to be used.

As a minimum, the Java Bean class must implement a getter for the property. The class, as well as the getter method, must be declared public. If the getter of an instance of this class is called, the property of the Java Bean is returned. If the Java Bean property is bound (i.e. it supports PropertyChangeListeners), this `ReadOnlyJavaBeanDoubleProperty` will be aware of changes in the Java Bean. Otherwise it can be notified about changes by calling `fireValueChangedEvent()`.

Deploying an Application as a Module

If the Java Bean class is in a named module, then it must be reflectively accessible to the `javafx.base` module. A class is reflectively accessible if the module `opens` the containing package to at least the `javafx.base` module.

For example, if `com.foo.MyBeanClass` is in the `foo.app` module, the `module-info.java` might look like this:

    module foo.app {
        opens com.foo to javafx.base;
    }

Alternatively, a class is reflectively accessible if the module `exports` the containing package unconditionally.

Since:
  JavaFX 2.1
See Also:
  `ReadOnlyDoubleProperty`, `ReadOnlyJavaBeanDoublePropertyBuilder`

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `dispose()` | Signals to the JavaFX property that it will not be used anymore and any references can be removed.
  `void` | `fireValueChangedEvent()` | Sends notifications to all attached `InvalidationListeners` and `ChangeListeners`.
  `double` | `get()` | Returns the current value of this `ObservableDoubleValue`.
  `Object` | `getBean()` | Returns the `Object` that contains this property.
  `String` | `getName()` | Returns the name of this property.

  ### Methods inherited from class javafx.beans.property.ReadOnlyDoublePropertyBase

  `addListener, addListener, removeListener, removeListener`

  ### Methods inherited from class javafx.beans.property.ReadOnlyDoubleProperty

  `asObject, readOnlyDoubleProperty, toString`

  ### Methods inherited from class javafx.beans.binding.DoubleExpression

  `add, add, add, add, add, divide, divide, divide, divide, divide, doubleExpression, doubleExpression, doubleValue, floatValue, getValue, intValue, longValue, multiply, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract, subtract`

  ### Methods inherited from class javafx.beans.binding.NumberExpressionBase

  `asString, asString, asString, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, lessThan, lessThan, lessThan, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, numberExpression`

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

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

  ### Methods inherited from interface javafx.beans.Observable

  `addListener, removeListener`

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

  `addListener, getValue, removeListener`

- ## Method Details

  - ### get

    public double get()
    Returns the current value of this `ObservableDoubleValue`.
    Specified by:
      `get` in interface `ObservableDoubleValue`
    Returns:
      The current value
    Throws:
      `UndeclaredThrowableException` - if calling the getter of the Java Bean property throws an `IllegalAccessException` or an `InvocationTargetException`.

  - ### getBean

    public Object getBean()
    Returns the `Object` that contains this property. If this property is not contained in an `Object`, `null` is returned.
    Specified by:
      `getBean` in interface `ReadOnlyProperty<Number>`
    Returns:
      the containing `Object` or `null`

  - ### getName

    public String getName()
    Returns the name of this property. If the property does not have a name, this method returns an empty `String`.
    Specified by:
      `getName` in interface `ReadOnlyProperty<Number>`
    Returns:
      the name or an empty `String`

  - ### fireValueChangedEvent

    public void fireValueChangedEvent()
    Sends notifications to all attached `InvalidationListeners` and `ChangeListeners`. This method needs to be called, if the value of this property changes.
    Specified by:
      `fireValueChangedEvent` in interface `ReadOnlyJavaBeanProperty<Number>`
    Overrides:
      `fireValueChangedEvent` in class `ReadOnlyDoublePropertyBase`

  - ### dispose

    public void dispose()
    Signals to the JavaFX property that it will not be used anymore and any references can be removed. A call of this method usually results in the property stopping to observe the Java Bean property by unregistering its listener(s).
    Specified by:
      `dispose` in interface `ReadOnlyJavaBeanProperty<Number>`