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

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 Details

### DoubleExpression

public DoubleExpression()

## Method Details

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