Module javafx.base
Package javafx.beans.binding

## Class ObjectExpression<T>

- java.lang.Object
- - javafx.beans.binding.ObjectExpression<T>

- All Implemented Interfaces:
    `Observable`, `ObservableObjectValue<T>`, `ObservableValue<T>`
  Direct Known Subclasses:
    `ObjectBinding`, `ReadOnlyObjectProperty`

      public abstract class ObjectExpression<T>
      extends Object
      implements ObservableObjectValue<T>

  `ObjectExpression` is an `ObservableObjectValue` plus additional convenience methods to generate bindings in a fluent style.

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

  Since:
    JavaFX 2.0

- - ### Constructor Summary

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

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `StringBinding` | `asString()` | Creates a `StringBinding` that holds the value of this `ObjectExpression` turned into a `String`.
    `StringBinding` | `asString​(String format)` | Creates a `StringBinding` that holds the value of the `ObjectExpression` turned into a `String`.
    `StringBinding` | `asString​(Locale locale, String format)` | Creates a `StringBinding` that holds the value of the `NumberExpression` turned into a `String`.
    `T` | `getValue()` | Returns the current value of this `ObservableValue`
    `BooleanBinding` | `isEqualTo​(Object other)` | Creates a new `BooleanExpression` that holds `true` if this `ObjectExpression` is equal to a constant value.
    `BooleanBinding` | `isEqualTo​(ObservableObjectValue<?> other)` | Creates a new `BooleanExpression` that holds `true` if this and another `ObservableObjectValue` are equal.
    `BooleanBinding` | `isNotEqualTo​(Object other)` | Creates a new `BooleanExpression` that holds `true` if this `ObjectExpression` is not equal to a constant value.
    `BooleanBinding` | `isNotEqualTo​(ObservableObjectValue<?> other)` | Creates a new `BooleanExpression` that holds `true` if this and another `ObservableObjectValue` are not equal.
    `BooleanBinding` | `isNotNull()` | Creates a new `BooleanBinding` that holds `true` if this `ObjectExpression` is not `null`.
    `BooleanBinding` | `isNull()` | Creates a new `BooleanBinding` that holds `true` if this `ObjectExpression` is `null`.
    `static <T> ObjectExpression<T>` | `objectExpression​(ObservableObjectValue<T> value)` | Returns an `ObjectExpression` that wraps an `ObservableObjectValue`.

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

      `get`

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

      `addListener, removeListener`

- - ### Constructor Detail

    - #### ObjectExpression

          public ObjectExpression()

  - ### Method Detail

    - #### getValue

          public T getValue()

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

    - #### objectExpression

          public static <T> ObjectExpression<T> objectExpression​(ObservableObjectValue<T> value)

      Returns an `ObjectExpression` that wraps an `ObservableObjectValue`. If the `ObservableObjectValue` is already an `ObjectExpression`, it will be returned. Otherwise a new `ObjectBinding` is created that is bound to the `ObservableObjectValue`.
      Type Parameters:
        `T` - the type of the wrapped `Object`
      Parameters:
        `value` - The source `ObservableObjectValue`
      Returns:
        A `ObjectExpression` that wraps the `ObservableObjectValue` if necessary
      Throws:
        `NullPointerException` - if `value` is `null`

    - #### isEqualTo

          public BooleanBinding isEqualTo​(ObservableObjectValue<?> other)

      Creates a new `BooleanExpression` that holds `true` if this and another `ObservableObjectValue` are equal.
      Parameters:
        `other` - the other `ObservableObjectValue`
      Returns:
        the new `BooleanExpression`
      Throws:
        `NullPointerException` - if `other` is `null`

    - #### isEqualTo

          public BooleanBinding isEqualTo​(Object other)

      Creates a new `BooleanExpression` that holds `true` if this `ObjectExpression` is equal to a constant value.
      Parameters:
        `other` - the constant value
      Returns:
        the new `BooleanExpression`

    - #### isNotEqualTo

          public BooleanBinding isNotEqualTo​(ObservableObjectValue<?> other)

      Creates a new `BooleanExpression` that holds `true` if this and another `ObservableObjectValue` are not equal.
      Parameters:
        `other` - the other `ObservableObjectValue`
      Returns:
        the new `BooleanExpression`
      Throws:
        `NullPointerException` - if `other` is `null`

    - #### isNotEqualTo

          public BooleanBinding isNotEqualTo​(Object other)

      Creates a new `BooleanExpression` that holds `true` if this `ObjectExpression` is not equal to a constant value.
      Parameters:
        `other` - the constant value
      Returns:
        the new `BooleanExpression`

    - #### isNull

          public BooleanBinding isNull()

      Creates a new `BooleanBinding` that holds `true` if this `ObjectExpression` is `null`.
      Returns:
        the new `BooleanBinding`

    - #### isNotNull

          public BooleanBinding isNotNull()

      Creates a new `BooleanBinding` that holds `true` if this `ObjectExpression` is not `null`.
      Returns:
        the new `BooleanBinding`

    - #### asString

          public StringBinding asString()

      Creates a `StringBinding` that holds the value of this `ObjectExpression` turned into a `String`. If the value of this `ObjectExpression` changes, the value of the `StringBinding` will be updated automatically.
      Returns:
        the new `StringBinding`
      Since:
        JavaFX 8.0

    - #### asString

          public StringBinding asString​(String format)

      Creates a `StringBinding` that holds the value of the `ObjectExpression` turned into a `String`. If the value of this `ObjectExpression` changes, the value of the `StringBinding` will be updated automatically.

      The result is formatted according to the formatting `String`. See `java.util.Formatter` for formatting rules.

      Parameters:
        `format` - the formatting `String`
      Returns:
        the new `StringBinding`
      Since:
        JavaFX 8.0

    - #### asString

          public StringBinding asString​(Locale locale,
                                        String format)

      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 result is formatted according to the formatting `String` and the passed in `Locale`. See `java.util.Formatter` for formatting rules. See `java.util.Locale` for details on `Locale`.

      Parameters:
        `locale` - the Locale to be used
        `format` - the formatting `String`
      Returns:
        the new `StringBinding`
      Since:
        JavaFX 8.0