Module javafx.base
Package javafx.beans.binding

# Class LongExpression

java.lang.Object
javafx.beans.binding.NumberExpressionBase
javafx.beans.binding.LongExpression

All Implemented Interfaces:
  `NumberExpression`, `Observable`, `ObservableLongValue`, `ObservableNumberValue`, `ObservableValue<Number>`

Direct Known Subclasses:
  `LongBinding`, `ReadOnlyLongProperty`

public abstract class LongExpression extends NumberExpressionBase implements ObservableLongValue
`LongExpression` is an `ObservableLongValue` plus additional convenience methods to generate bindings in a fluent style.

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

Since:
  JavaFX 2.0

## Constructor Summary

Constructors
Constructor
Description
`LongExpression()`

## 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.
`FloatBinding`
`add(float other)`
Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
`LongBinding`
`add(int other)`
Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
`LongBinding`
`add(long other)`
Creates a new `NumberBinding` that calculates the sum of this `NumberExpression` and a constant value.
`ObjectExpression<Long>`
`asObject()`
Creates an `ObjectExpression` that holds the value of this `LongExpression`.
`DoubleBinding`
`divide(double other)`
Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
`FloatBinding`
`divide(float other)`
Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
`LongBinding`
`divide(int other)`
Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
`LongBinding`
`divide(long other)`
Creates a new `NumberBinding` that calculates the division of this `NumberExpression` and a constant value.
`double`
`doubleValue()`
Returns the value of this `ObservableNumberValue` as a `double`.
`float`
`floatValue()`
Returns the value of this `ObservableNumberValue` as a `float`.
`Long`
`getValue()`
Returns the current value of this `ObservableValue`
`int`
`intValue()`
Returns the value of this `ObservableNumberValue` as an `int` .
`static LongExpression`
`longExpression(ObservableLongValue value)`
Returns a `LongExpression` that wraps a `ObservableLongValue`.
`static <T extends Number>
LongExpression`
`longExpression(ObservableValue<T> value)`
Returns a `LongExpression` that wraps an `ObservableValue`.
`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.
`FloatBinding`
`multiply(float other)`
Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
`LongBinding`
`multiply(int other)`
Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
`LongBinding`
`multiply(long other)`
Creates a new `NumberBinding` that calculates the product of this `NumberExpression` and a constant value.
`LongBinding`
`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.
`FloatBinding`
`subtract(float other)`
Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
`LongBinding`
`subtract(int other)`
Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.
`LongBinding`
`subtract(long other)`
Creates a new `NumberBinding` that calculates the difference of this `NumberExpression` and a constant value.

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

`add, asString, asString, asString, divide, 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, multiply, numberExpression, subtract`

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

`get`

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

`addListener, removeListener`

## Constructor Details

### LongExpression

public LongExpression()

## 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 Long getValue()
Description copied from interface: `ObservableValue`
Returns the current value of this `ObservableValue`

Specified by:
  `getValue` in interface `ObservableValue<Number>`
Returns:
  The current value

### longExpression

public static LongExpression longExpression(ObservableLongValue value)
Returns a `LongExpression` that wraps a `ObservableLongValue`. If the `ObservableLongValue` is already a `LongExpression`, it will be returned. Otherwise a new `LongBinding` is created that is bound to the `ObservableLongValue`.

Parameters:
  `value` - The source `ObservableLongValue`
Returns:
  A `LongExpression` that wraps the `ObservableLongValue` if necessary
Throws:
  `NullPointerException` - if `value` is `null`

### longExpression

public static <T extends Number> LongExpression longExpression(ObservableValue<T> value)
Returns a `LongExpression` that wraps an `ObservableValue`. If the `ObservableValue` is already a `LongExpression`, it will be returned. Otherwise a new `LongBinding` 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 LongExpression, which is essentially an `ObservableValue<Number>`. See sample below.

>        LongProperty longProperty = new SimpleLongProperty(1L);
>        ObjectProperty<Long> objectProperty = new SimpleObjectProperty<>(2L);
>        BooleanBinding binding = longProperty.greaterThan(LongExpression.longExpression(objectProperty));

Note: null values will be interpreted as 0L

Type Parameters:
  `T` - The type of Number to be wrapped
Parameters:
  `value` - The source `ObservableValue`
Returns:
  A `LongExpression` that wraps the `ObservableValue` if necessary
Throws:
  `NullPointerException` - if `value` is `null`
Since:
  JavaFX 8.0

### negate

public LongBinding 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(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 FloatBinding 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 LongBinding 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 LongBinding 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(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 FloatBinding 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 LongBinding 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 LongBinding 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(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 FloatBinding 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 LongBinding 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 LongBinding 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(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 FloatBinding 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 LongBinding 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 LongBinding 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<Long> asObject()
Creates an `ObjectExpression` that holds the value of this `LongExpression`. If the value of this `LongExpression` changes, the value of the `ObjectExpression` will be updated automatically.

Returns:
  the new `ObjectExpression`
Since:
  JavaFX 8.0