Interface NumberExpression

All Superinterfaces:
Observable, ObservableNumberValue, ObservableValue<Number>
All Known Subinterfaces:
NumberBinding
All Known Implementing Classes:
DoubleBinding, DoubleExpression, DoubleProperty, DoublePropertyBase, IntegerBinding, IntegerExpression, IntegerProperty, IntegerPropertyBase, LongBinding, LongExpression, LongProperty, LongPropertyBase, NumberExpressionBase, ReadOnlyDoubleProperty, ReadOnlyIntegerProperty, ReadOnlyIntegerPropertyBase, ReadOnlyLongProperty, SimpleDoubleProperty, SimpleIntegerProperty, SimpleLongProperty, StyleableIntegerProperty

public interface NumberExpression extends ObservableNumberValue
A NumberExpression is a ObservableNumberValue plus additional convenience methods to generate bindings in a fluent style.

This API allows to mix types when defining arithmetic operations. The type of the result is defined by the same rules as in the Java Language.

  1. If one of the operands is a double, the result is a double.
  2. If not and one of the operands is a float, the result is a float.
  3. If not and one of the operands is a long, the result is a long.
  4. The result is an integer otherwise.

To be able to deal with an unspecified return type, two interfaces NumberExpression and its counterpart NumberBinding were introduced. That means if the return type is specified as NumberBinding, the method will either return a DoubleBinding, FloatBinding, LongBinding or IntegerBinding, depending on the types of the operands.

The API tries to do its best in determining the correct return type, e.g. combining a ObservableNumberValue with a primitive double will always result in a DoubleBinding. In cases where the return type is not known by the API, it is the responsibility of the developer to call the correct getter (ObservableNumberValue.intValue() etc.). If the internal representation does not match the type of the getter, a standard cast is done.

Since:
JavaFX 2.0
  • Method Details

    • asString

      StringBinding asString()
      Creates a StringBinding that holds the value of the NumberExpression turned into a String. If the value of this NumberExpression changes, the value of the StringBinding will be updated automatically.

      The conversion is done without any formatting applied.

      Returns:
      the new StringBinding