Module javafx.base
Package javafx.beans.binding

# Class When

java.lang.Object
javafx.beans.binding.When

    public class When
    extends Object

Starting point for a binding that calculates a ternary expression.

A ternary expression has the basic form `new When(cond).then(value1).otherwise(value2);`. The expression `cond` needs to be a `ObservableBooleanValue`. Based on the value of `cond`, the binding contains the value of `value1` (if `cond.getValue() == true`) or `value2` (if `cond.getValue() == false`). The values `value1` and `value2` have to be of the same type. They can be constant values or implementations of `ObservableValue`.

Since:
  JavaFX 2.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `When.BooleanConditionBuilder` | An intermediate class needed while assembling the ternary expression.
  `class` | `When.NumberConditionBuilder` | If-then-else expression returning a number.
  `class` | `When.ObjectConditionBuilder<T>` | An intermediate class needed while assembling the ternary expression.
  `class` | `When.StringConditionBuilder` | An intermediate class needed while assembling the ternary expression.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `When​(ObservableBooleanValue condition)` | The constructor of `When`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `When.BooleanConditionBuilder` | `then​(boolean thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.
  `When.NumberConditionBuilder` | `then​(double thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.
  `When.NumberConditionBuilder` | `then​(float thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.
  `When.NumberConditionBuilder` | `then​(int thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.
  `When.NumberConditionBuilder` | `then​(long thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.
  `When.StringConditionBuilder` | `then​(String thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.
  `When.BooleanConditionBuilder` | `then​(ObservableBooleanValue thenValue)` | Defines the `ObservableBooleanValue` which value is returned by the ternary expression if the condition is `true`.
  `When.NumberConditionBuilder` | `then​(ObservableNumberValue thenValue)` | Defines the `ObservableNumberValue` which value is returned by the ternary expression if the condition is `true`.
  `<T> When.ObjectConditionBuilder<T>` | `then​(ObservableObjectValue<T> thenValue)` | Defines the `ObservableObjectValue` which value is returned by the ternary expression if the condition is `true`.
  `When.StringConditionBuilder` | `then​(ObservableStringValue thenValue)` | Defines the `ObservableStringValue` which value is returned by the ternary expression if the condition is `true`.
  `<T> When.ObjectConditionBuilder<T>` | `then​(T thenValue)` | Defines a constant value of the ternary expression, that is returned if the condition is `true`.

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

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

- ## Constructor Details

  - ### When

    public When​(ObservableBooleanValue condition)
    The constructor of `When`.
    Parameters:
      `condition` - the condition of the ternary expression

- ## Method Details

  - ### then

    public When.NumberConditionBuilder then​(ObservableNumberValue thenValue)
    Defines the `ObservableNumberValue` which value is returned by the ternary expression if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.NumberConditionBuilder then​(double thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.NumberConditionBuilder then​(float thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.NumberConditionBuilder then​(long thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.NumberConditionBuilder then​(int thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.BooleanConditionBuilder then​(ObservableBooleanValue thenValue)
    Defines the `ObservableBooleanValue` which value is returned by the ternary expression if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.BooleanConditionBuilder then​(boolean thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.StringConditionBuilder then​(ObservableStringValue thenValue)
    Defines the `ObservableStringValue` which value is returned by the ternary expression if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public When.StringConditionBuilder then​(String thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public <T> When.ObjectConditionBuilder<T> then​(ObservableObjectValue<T> thenValue)
    Defines the `ObservableObjectValue` which value is returned by the ternary expression if the condition is `true`.
    Type Parameters:
      `T` - the type of the intermediate result
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch

  - ### then

    public <T> When.ObjectConditionBuilder<T> then​(T thenValue)
    Defines a constant value of the ternary expression, that is returned if the condition is `true`.
    Type Parameters:
      `T` - the type of the intermediate result
    Parameters:
      `thenValue` - the value
    Returns:
      the intermediate result which still requires the otherwise-branch