FloatExpression (JavaFX 17)

Module javafx.base
Package javafx.beans.binding

## Class FloatExpression

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

- All Implemented Interfaces:
    `NumberExpression`, `Observable`, `ObservableFloatValue`, `ObservableNumberValue`, `ObservableValue<Number>`
  Direct Known Subclasses:
    `FloatBinding`, `ReadOnlyFloatProperty`

      public abstract class FloatExpression
      extends NumberExpressionBase
      implements ObservableFloatValue

  `FloatExpression` is an `ObservableFloatValue` plus additional convenience methods to generate bindings in a fluent style.

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

  Since:
    JavaFX 2.0

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FloatExpression()` | Creates a default `FloatExpression`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectExpression<Float>` | `asObject()` | Creates an `ObjectExpression` that holds the value of this `FloatExpression`.
    `static FloatExpression` | `floatExpression​(ObservableFloatValue value)` | Returns a `FloatExpression` that wraps a `ObservableFloatValue`.
    `static <T extends Number> FloatExpression` | `floatExpression​(ObservableValue<T> value)` | Returns a `FloatExpression` that wraps an `ObservableValue`.

    - ### Methods declared in class javafx.beans.binding.NumberExpressionBase

      `numberExpression`

    - ### Methods declared in class java.lang.Object

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

    - ### Methods declared in interface javafx.beans.binding.NumberExpression

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

    - ### Methods declared in interface javafx.beans.Observable

      `addListener, removeListener`

    - ### Methods declared in interface javafx.beans.value.ObservableFloatValue

      `get`

    - ### Methods declared in interface javafx.beans.value.ObservableNumberValue

      `doubleValue, floatValue, intValue, longValue`

    - ### Methods declared in interface javafx.beans.value.ObservableValue

      `addListener, getValue, removeListener`

- - ### Constructor Detail

    - #### FloatExpression

          public FloatExpression()

      Creates a default `FloatExpression`.

  - ### Method Detail

    - #### floatExpression

          public static FloatExpression floatExpression​(ObservableFloatValue value)

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

    - #### floatExpression

          public static <T extends Number> FloatExpression floatExpression​(ObservableValue<T> value)

      Returns a `FloatExpression` that wraps an `ObservableValue`. If the `ObservableValue` is already a `FloatExpression`, it will be returned. Otherwise a new `FloatBinding` 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 FloatExpression, which is essentially an `ObservableValue<Number>`. See sample below.

      >        FloatProperty floatProperty = new SimpleFloatProperty(1.0f);
      >        ObjectProperty<Float> objectProperty = new SimpleObjectProperty<>(2.0f);
      >        BooleanBinding binding = floatProperty.greaterThan(FloatExpression.floatExpression(objectProperty));

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

    - #### asObject

          public ObjectExpression<Float> asObject()

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