DoubleExpression (JavaFX 13)

Module javafx.base
Package javafx.beans.binding

## Class DoubleExpression

- java.lang.Object
- - javafx.beans.binding.NumberExpressionBase
  - - javafx.beans.binding.DoubleExpression

- All Implemented Interfaces:
    `NumberExpression`, `Observable`, `ObservableDoubleValue`, `ObservableNumberValue`, `ObservableValue<Number>`
  Direct Known Subclasses:
    `DoubleBinding`, `ReadOnlyDoubleProperty`

      public abstract class DoubleExpression
      extends NumberExpressionBase
      implements ObservableDoubleValue

  `DoubleExpression` is an `ObservableDoubleValue` plus additional convenience methods to generate bindings in a fluent style.

  A concrete sub-class of `DoubleExpression` has to implement the method `ObservableDoubleValue.get()`, which provides the actual value of this expression.

  Since:
    JavaFX 2.0

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `DoubleBinding` | `add​(double other)` | Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
    `DoubleBinding` | `add​(float other)` | Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
    `DoubleBinding` | `add​(int other)` | Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
    `DoubleBinding` | `add​(long other)` | Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
    `DoubleBinding` | `add​(ObservableNumberValue other)` | Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and another `ObservableNumberValue`.
    `ObjectExpression<Double>` | `asObject()` | Creates an `ObjectExpression` that holds the value of this `DoubleExpression`.
    `DoubleBinding` | `divide​(double other)` | Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
    `DoubleBinding` | `divide​(float other)` | Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
    `DoubleBinding` | `divide​(int other)` | Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
    `DoubleBinding` | `divide​(long other)` | Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
    `DoubleBinding` | `divide​(ObservableNumberValue other)` | Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and another `ObservableNumberValue`.
    `static DoubleExpression` | `doubleExpression​(ObservableDoubleValue value)` | Returns a `DoubleExpression` that wraps a `ObservableDoubleValue`.
    `static <T extends Number> DoubleExpression` | `doubleExpression​(ObservableValue<T> value)` | Returns a `DoubleExpression` that wraps an `ObservableValue`.
    `double` | `doubleValue()` | Returns the value of this `ObservableNumberValue` as a `double`.
    `float` | `floatValue()` | Returns the value of this `ObservableNumberValue` as a `float`.
    `Double` | `getValue()` | Returns the current value of this `ObservableValue`
    `int` | `intValue()` | Returns the value of this `ObservableNumberValue` as an `int` .
    `long` | `longValue()` | Returns the value of this `ObservableNumberValue` as a `long` .
    `DoubleBinding` | `multiply​(double other)` | Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
    `DoubleBinding` | `multiply​(float other)` | Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
    `DoubleBinding` | `multiply​(int other)` | Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
    `DoubleBinding` | `multiply​(long other)` | Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
    `DoubleBinding` | `multiply​(ObservableNumberValue other)` | Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and another `ObservableNumberValue`.
    `DoubleBinding` | `negate()` | Creates a new `NumberBinding` that calculates the negation of `NumberExpression`.
    `DoubleBinding` | `subtract​(double other)` | Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
    `DoubleBinding` | `subtract​(float other)` | Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
    `DoubleBinding` | `subtract​(int other)` | Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
    `DoubleBinding` | `subtract​(long other)` | Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
    `DoubleBinding` | `subtract​(ObservableNumberValue other)` | Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and another `ObservableNumberValue`.

    - ### 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, toString, wait, wait, wait`

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

      `addListener, removeListener`

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

      `get`

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

      `addListener, removeListener`

- - ### Constructor Detail

    - #### DoubleExpression

          public DoubleExpression()

  - ### Method Detail

    - #### intValue

          public int intValue()

      Description copied from interface: `ObservableNumberValue`
      Returns the value of this `ObservableNumberValue` as an `int` . If the value is not an `int`, a standard cast is performed.
      Specified by:
        `intValue` in interface `ObservableNumberValue`
      Returns:
        The value of this `ObservableNumberValue` as an `int`

    - #### longValue

          public long longValue()

      Description copied from interface: `ObservableNumberValue`
      Returns the value of this `ObservableNumberValue` as a `long` . If the value is not a `long`, a standard cast is performed.
      Specified by:
        `longValue` in interface `ObservableNumberValue`
      Returns:
        The value of this `ObservableNumberValue` as a `long`

    - #### floatValue

          public float floatValue()

      Description copied from interface: `ObservableNumberValue`
      Returns the value of this `ObservableNumberValue` as a `float`. If the value is not a `float`, a standard cast is performed.
      Specified by:
        `floatValue` in interface `ObservableNumberValue`
      Returns:
        The value of this `ObservableNumberValue` as a `float`

    - #### doubleValue

          public double doubleValue()

      Description copied from interface: `ObservableNumberValue`
      Returns the value of this `ObservableNumberValue` as a `double`. If the value is not a `double`, a standard cast is performed.
      Specified by:
        `doubleValue` in interface `ObservableNumberValue`
      Returns:
        The value of this `ObservableNumberValue` as a `double`

    - #### getValue

          public Double getValue()

      Description copied from interface: `ObservableValue`
      Returns the current value of this `ObservableValue`
      Specified by:
        `getValue` in interface `ObservableValue<Number>`
      Returns:
        The current value

    - #### doubleExpression

          public static DoubleExpression doubleExpression​(ObservableDoubleValue value)

      Returns a `DoubleExpression` that wraps a `ObservableDoubleValue`. If the `ObservableDoubleValue` is already a `DoubleExpression`, it will be returned. Otherwise a new `DoubleBinding` is created that is bound to the `ObservableDoubleValue`.
      Parameters:
        `value` - The source `ObservableDoubleValue`
      Returns:
        A `DoubleExpression` that wraps the `ObservableDoubleValue` if necessary
      Throws:
        `NullPointerException` - if `value` is `null`

    - #### doubleExpression

          public static <T extends Number> DoubleExpression doubleExpression​(ObservableValue<T> value)

      Returns a `DoubleExpression` that wraps an `ObservableValue`. If the `ObservableValue` is already a `DoubleExpression`, it will be returned. Otherwise a new `DoubleBinding` is created that is bound to the `ObservableValue`.

      Note: this method can be used to convert an `ObjectExpression` or `ObjectProperty` of specific number type to DoubleExpression, which is essentially an `ObservableValue<Number>`. See sample below.

      >        DoubleProperty doubleProperty = new SimpleDoubleProperty(1.0);
      >        ObjectProperty<Double> objectProperty = new SimpleObjectProperty<>(2.0);
      >        BooleanBinding binding = doubleProperty.greaterThan(DoubleExpression.doubleExpression(objectProperty));

      Note: null values will be interpreted as 0.0
      Type Parameters:
        `T` - The type of Number to be wrapped
      Parameters:
        `value` - The source `ObservableValue`
      Returns:
        A `DoubleExpression` that wraps the `ObservableValue` if necessary
      Throws:
        `NullPointerException` - if `value` is `null`
      Since:
        JavaFX 8.0

    - #### negate

          public DoubleBinding negate()

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the negation of `NumberExpression`.
      Specified by:
        `negate` in interface `NumberExpression`
      Returns:
        the new `NumberBinding`

    - #### add

          public DoubleBinding add​(ObservableNumberValue other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and another `ObservableNumberValue`.
      Specified by:
        `add` in interface `NumberExpression`
      Overrides:
        `add` in class `NumberExpressionBase`
      Parameters:
        `other` - the second `ObservableNumberValue`
      Returns:
        the new `NumberBinding`

    - #### add

          public DoubleBinding add​(double other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
      Specified by:
        `add` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### add

          public DoubleBinding add​(float other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
      Specified by:
        `add` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### add

          public DoubleBinding add​(long other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
      Specified by:
        `add` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### add

          public DoubleBinding add​(int other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
      Specified by:
        `add` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### subtract

          public DoubleBinding subtract​(ObservableNumberValue other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and another `ObservableNumberValue`.
      Specified by:
        `subtract` in interface `NumberExpression`
      Overrides:
        `subtract` in class `NumberExpressionBase`
      Parameters:
        `other` - the second `ObservableNumberValue`
      Returns:
        the new `NumberBinding`

    - #### subtract

          public DoubleBinding subtract​(double other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
      Specified by:
        `subtract` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### subtract

          public DoubleBinding subtract​(float other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
      Specified by:
        `subtract` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### subtract

          public DoubleBinding subtract​(long other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
      Specified by:
        `subtract` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### subtract

          public DoubleBinding subtract​(int other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
      Specified by:
        `subtract` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### multiply

          public DoubleBinding multiply​(ObservableNumberValue other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and another `ObservableNumberValue`.
      Specified by:
        `multiply` in interface `NumberExpression`
      Overrides:
        `multiply` in class `NumberExpressionBase`
      Parameters:
        `other` - the second `ObservableNumberValue`
      Returns:
        the new `NumberBinding`

    - #### multiply

          public DoubleBinding multiply​(double other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
      Specified by:
        `multiply` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### multiply

          public DoubleBinding multiply​(float other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
      Specified by:
        `multiply` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### multiply

          public DoubleBinding multiply​(long other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
      Specified by:
        `multiply` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### multiply

          public DoubleBinding multiply​(int other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
      Specified by:
        `multiply` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### divide

          public DoubleBinding divide​(ObservableNumberValue other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and another `ObservableNumberValue`.
      Specified by:
        `divide` in interface `NumberExpression`
      Overrides:
        `divide` in class `NumberExpressionBase`
      Parameters:
        `other` - the second `ObservableNumberValue`
      Returns:
        the new `NumberBinding`

    - #### divide

          public DoubleBinding divide​(double other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
      Specified by:
        `divide` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### divide

          public DoubleBinding divide​(float other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
      Specified by:
        `divide` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### divide

          public DoubleBinding divide​(long other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
      Specified by:
        `divide` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### divide

          public DoubleBinding divide​(int other)

      Description copied from interface: `NumberExpression`
      Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
      Specified by:
        `divide` in interface `NumberExpression`
      Parameters:
        `other` - the constant value
      Returns:
        the new `NumberBinding`

    - #### asObject

          public ObjectExpression<Double> asObject()

      Creates an `ObjectExpression` that holds the value of this `DoubleExpression`. If the value of this `DoubleExpression` changes, the value of the `ObjectExpression` will be updated automatically.
      Returns:
        the new `ObjectExpression`
      Since:
        JavaFX 8.0