# Class StringExpression

java.lang.Object
javafx.beans.binding.StringExpression

All Implemented Interfaces:
  `Observable, ObservableObjectValue<String>, ObservableStringValue, ObservableValue<String>`

Direct Known Subclasses:
  `ReadOnlyStringProperty, StringBinding`

public abstract class StringExpression extends Object implements ObservableStringValue
`StringExpression` is an `ObservableStringValue` plus additional convenience methods to generate bindings in a fluent style.

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

Note: all implementation of `BooleanBinding` returned by the comparisons in this class consider a `String` that is `null` equal to an empty `String`.

Since:
  JavaFX 2.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StringExpression()`
  Creates a default `StringExpression`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `StringExpression`
  `concat(Object other)`
  Returns a `StringExpression` that holds the value of this `StringExpression` concatenated with another `Object`.
  `String`
  `getValue()`
  Returns the current value of this `ObservableValue`
  `final String`
  `getValueSafe()`
  Returns usually the value of this `StringExpression`.
  `BooleanBinding`
  `greaterThan(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than a constant value.
  `BooleanBinding`
  `greaterThan(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than another `ObservableStringValue`.
  `BooleanBinding`
  `greaterThanOrEqualTo(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than or equal to a constant value.
  `BooleanBinding`
  `greaterThanOrEqualTo(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than or equal to another `ObservableStringValue`.
  `BooleanBinding`
  `isEmpty()`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is empty.
  `BooleanBinding`
  `isEqualTo(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is equal to a constant value.
  `BooleanBinding`
  `isEqualTo(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are equal.
  `BooleanBinding`
  `isEqualToIgnoreCase(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is equal to a constant value ignoring case.
  `BooleanBinding`
  `isEqualToIgnoreCase(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are equal ignoring case.
  `BooleanBinding`
  `isNotEmpty()`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not empty.
  `BooleanBinding`
  `isNotEqualTo(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not equal to a constant value.
  `BooleanBinding`
  `isNotEqualTo(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are not equal.
  `BooleanBinding`
  `isNotEqualToIgnoreCase(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not equal to a constant value ignoring case.
  `BooleanBinding`
  `isNotEqualToIgnoreCase(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are not equal ignoring case.
  `BooleanBinding`
  `isNotNull()`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not `null`.
  `BooleanBinding`
  `isNull()`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is `null`.
  `IntegerBinding`
  `length()`
  Creates a new `IntegerBinding` that holds the length of this `StringExpression`.
  `BooleanBinding`
  `lessThan(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than a constant value.
  `BooleanBinding`
  `lessThan(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than another `ObservableStringValue`.
  `BooleanBinding`
  `lessThanOrEqualTo(String other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than or equal to a constant value.
  `BooleanBinding`
  `lessThanOrEqualTo(ObservableStringValue other)`
  Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than or equal to another `ObservableStringValue`.
  `static StringExpression`
  `stringExpression(ObservableValue<?> value)`
  Returns a `StringExpression` that wraps a `ObservableValue`.

  ### Methods declared in class Object

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

  ### Methods declared in interface Observable

  `addListener, removeListener, subscribe`

  ### Methods declared in interface ObservableObjectValue

  `get`

  ### Methods declared in interface ObservableValue

  `addListener, flatMap, map, orElse, removeListener, subscribe, subscribe, when`

- ## Constructor Details

  - ### StringExpression

    public StringExpression()
    Creates a default `StringExpression`.

- ## Method Details

  - ### getValue

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

  - ### getValueSafe

    public final String getValueSafe()
    Returns usually the value of this `StringExpression`. Only if the value is `null` an empty `String` is returned instead.
    Returns:
      the value of this `StringExpression` or the empty `String`

  - ### stringExpression

    public static StringExpression stringExpression(ObservableValue<?> value)
    Returns a `StringExpression` that wraps a `ObservableValue`. If the `ObservableValue` is already a `StringExpression`, it will be returned. Otherwise a new `StringBinding` is created that holds the value of the `ObservableValue` converted to a `String`.
    Parameters:
      `value` - The source `ObservableValue`
    Returns:
      A `StringExpression` that wraps the `ObservableValue` if necessary
    Throws:
      `NullPointerException` - if `value` is `null`

  - ### concat

    public StringExpression concat(Object other)
    Returns a `StringExpression` that holds the value of this `StringExpression` concatenated with another `Object`.

    If the value of this `StringExpression` changes, the value of the resulting `StringExpression` is updated automatically. Also if the other `Object` is an implementation of `ObservableValue`, changes in the other `Object` are reflected automatically in the resulting `StringExpression`.

    Parameters:
      `other` - the other `Object`
    Returns:
      the new `StringExpression`

  - ### isEqualTo

    public BooleanBinding isEqualTo(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are equal.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### isEqualTo

    public BooleanBinding isEqualTo(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is equal to a constant value.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### isNotEqualTo

    public BooleanBinding isNotEqualTo(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are not equal.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### isNotEqualTo

    public BooleanBinding isNotEqualTo(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not equal to a constant value.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### isEqualToIgnoreCase

    public BooleanBinding isEqualToIgnoreCase(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are equal ignoring case.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the second `ObservableStringValue`
    Returns:
      the new `BooleanBinding`

  - ### isEqualToIgnoreCase

    public BooleanBinding isEqualToIgnoreCase(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is equal to a constant value ignoring case.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### isNotEqualToIgnoreCase

    public BooleanBinding isNotEqualToIgnoreCase(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this and another `ObservableStringValue` are not equal ignoring case.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the second `ObservableStringValue`
    Returns:
      the new `BooleanBinding`

  - ### isNotEqualToIgnoreCase

    public BooleanBinding isNotEqualToIgnoreCase(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not equal to a constant value ignoring case.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### greaterThan

    public BooleanBinding greaterThan(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than another `ObservableStringValue`.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the second `ObservableStringValue`
    Returns:
      the new `BooleanBinding`

  - ### greaterThan

    public BooleanBinding greaterThan(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than a constant value.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### lessThan

    public BooleanBinding lessThan(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than another `ObservableStringValue`.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the second `ObservableStringValue`
    Returns:
      the new `BooleanBinding`

  - ### lessThan

    public BooleanBinding lessThan(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than a constant value.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### greaterThanOrEqualTo

    public BooleanBinding greaterThanOrEqualTo(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than or equal to another `ObservableStringValue`.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the second `ObservableStringValue`
    Returns:
      the new `BooleanBinding`

  - ### greaterThanOrEqualTo

    public BooleanBinding greaterThanOrEqualTo(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is greater than or equal to a constant value.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### lessThanOrEqualTo

    public BooleanBinding lessThanOrEqualTo(ObservableStringValue other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than or equal to another `ObservableStringValue`.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the second `ObservableStringValue`
    Returns:
      the new `BooleanBinding`

  - ### lessThanOrEqualTo

    public BooleanBinding lessThanOrEqualTo(String other)
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is less than or equal to a constant value.

    Note: In this comparison a `String` that is `null` is considered equal to an empty `String`.

    Parameters:
      `other` - the constant value
    Returns:
      the new `BooleanBinding`

  - ### isNull

    public BooleanBinding isNull()
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is `null`.
    Returns:
      the new `BooleanBinding`

  - ### isNotNull

    public BooleanBinding isNotNull()
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not `null`.
    Returns:
      the new `BooleanBinding`

  - ### length

    public IntegerBinding length()
    Creates a new `IntegerBinding` that holds the length of this `StringExpression`.

    Note: If the value of this `StringExpression` is `null`, the length is considered to be `0`.

    Returns:
      the new `IntegerBinding`
    Since:
      JavaFX 8.0

  - ### isEmpty

    public BooleanBinding isEmpty()
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is empty.

    Note: If the value of this `StringExpression` is `null`, it is considered to be empty.

    Returns:
      the new `BooleanBinding`
    Since:
      JavaFX 8.0

  - ### isNotEmpty

    public BooleanBinding isNotEmpty()
    Creates a new `BooleanBinding` that holds `true` if this `StringExpression` is not empty.

    Note: If the value of this `StringExpression` is `null`, it is considered to be empty.

    Returns:
      the new `BooleanBinding`
    Since:
      JavaFX 8.0