Module javafx.base
Package javafx.beans.binding

# Class SetExpression<E>

java.lang.Object
javafx.beans.binding.SetExpression<E>

Type Parameters:
  `E` - the type of the `Set` elements

All Implemented Interfaces:
  `Iterable<E>`, `Collection<E>`, `Set<E>`, `Observable`, `ObservableObjectValue<ObservableSet<E>>`, `ObservableSetValue<E>`, `ObservableValue<ObservableSet<E>>`, `ObservableSet<E>`

Direct Known Subclasses:
  `ReadOnlySetProperty`, `SetBinding`

    public abstract class SetExpression<E>
    extends Object
    implements ObservableSetValue<E>

`SetExpression` is an `ObservableSetValue` plus additional convenience methods to generate bindings in a fluent style.

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

If the wrapped list of a `SetExpression` is `null`, all methods implementing the `Set` interface will behave as if they were applied to an immutable empty set.

Since:
  JavaFX 2.1

- ## Property Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `abstract ReadOnlyBooleanProperty` | `empty` | A boolean property that is `true`, if the set is empty.
  `abstract ReadOnlyIntegerProperty` | `size` | An integer property that represents the size of the set.

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `boolean` | `add​(E element)` |
  `boolean` | `addAll​(Collection<? extends E> elements)` |
  `StringBinding` | `asString()` | Creates a `StringBinding` that holds the value of the `SetExpression` turned into a `String`.
  `void` | `clear()` |
  `boolean` | `contains​(Object obj)` |
  `boolean` | `containsAll​(Collection<?> objects)` |
  `abstract ReadOnlyBooleanProperty` | `emptyProperty()` | A boolean property that is `true`, if the set is empty.
  `int` | `getSize()` | The size of the set
  `ObservableSet<E>` | `getValue()` | Returns the current value of this `ObservableValue`
  `boolean` | `isEmpty()` | Gets the value of the property empty.
  `BooleanBinding` | `isEqualTo​(ObservableSet<?> other)` | Creates a new `BooleanBinding` that holds `true` if this set is equal to another `ObservableSet`.
  `BooleanBinding` | `isNotEqualTo​(ObservableSet<?> other)` | Creates a new `BooleanBinding` that holds `true` if this set is not equal to another `ObservableSet`.
  `BooleanBinding` | `isNotNull()` | Creates a new `BooleanBinding` that holds `true` if the wrapped set is not `null`.
  `BooleanBinding` | `isNull()` | Creates a new `BooleanBinding` that holds `true` if the wrapped set is `null`.
  `Iterator<E>` | `iterator()` |
  `boolean` | `remove​(Object obj)` |
  `boolean` | `removeAll​(Collection<?> objects)` |
  `boolean` | `retainAll​(Collection<?> objects)` |
  `static <E> SetExpression<E>` | `setExpression​(ObservableSetValue<E> value)` | Returns a `SetExpression` that wraps a `ObservableSetValue`.
  `int` | `size()` |
  `abstract ReadOnlyIntegerProperty` | `sizeProperty()` | An integer property that represents the size of the set.
  `Object[]` | `toArray()` |
  `<T> T[]` | `toArray​(T[] array)` |

  ### Methods inherited from class java.lang.Object

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

  ### Methods inherited from interface java.util.Collection

  `parallelStream, removeIf, stream, toArray`

  ### Methods inherited from interface java.lang.Iterable

  `forEach`

  ### Methods inherited from interface javafx.beans.Observable

  `addListener, removeListener`

  ### Methods inherited from interface javafx.beans.value.ObservableObjectValue

  `get`

  ### Methods inherited from interface javafx.collections.ObservableSet

  `addListener, removeListener`

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

  `addListener, removeListener`

  ### Methods inherited from interface java.util.Set

  `equals, hashCode, spliterator`

- ## Property Details

  - ### size

    public abstract ReadOnlyIntegerProperty sizeProperty
    An integer property that represents the size of the set.
    See Also:
      `getSize()`

  - ### empty

    public abstract ReadOnlyBooleanProperty emptyProperty
    A boolean property that is `true`, if the set is empty.
    See Also:
      `isEmpty()`

- ## Constructor Details

  - ### SetExpression

    public SetExpression()

- ## Method Details

  - ### getValue

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

  - ### setExpression

    public static <E> SetExpression<E> setExpression​(ObservableSetValue<E> value)
    Returns a `SetExpression` that wraps a `ObservableSetValue`. If the `ObservableSetValue` is already a `SetExpression`, it will be returned. Otherwise a new `SetBinding` is created that is bound to the `ObservableSetValue`.
    Type Parameters:
      `E` - the type of the `Set` elements
    Parameters:
      `value` - The source `ObservableSetValue`
    Returns:
      A `SetExpression` that wraps the `ObservableSetValue` if necessary
    Throws:
      `NullPointerException` - if `value` is `null`

  - ### getSize

    public int getSize()
    The size of the set
    Returns:
      the size

  - ### sizeProperty

    public abstract ReadOnlyIntegerProperty sizeProperty()
    An integer property that represents the size of the set.
    See Also:
      `getSize()`

  - ### emptyProperty

    public abstract ReadOnlyBooleanProperty emptyProperty()
    A boolean property that is `true`, if the set is empty.
    See Also:
      `isEmpty()`

  - ### isEqualTo

    public BooleanBinding isEqualTo​(ObservableSet<?> other)
    Creates a new `BooleanBinding` that holds `true` if this set is equal to another `ObservableSet`.
    Parameters:
      `other` - the other `ObservableSet`
    Returns:
      the new `BooleanBinding`
    Throws:
      `NullPointerException` - if `other` is `null`

  - ### isNotEqualTo

    public BooleanBinding isNotEqualTo​(ObservableSet<?> other)
    Creates a new `BooleanBinding` that holds `true` if this set is not equal to another `ObservableSet`.
    Parameters:
      `other` - the other `ObservableSet`
    Returns:
      the new `BooleanBinding`
    Throws:
      `NullPointerException` - if `other` is `null`

  - ### isNull

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

  - ### isNotNull

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

  - ### asString

    public StringBinding asString()
    Creates a `StringBinding` that holds the value of the `SetExpression` turned into a `String`. If the value of this `SetExpression` changes, the value of the `StringBinding` will be updated automatically.
    Returns:
      the new `StringBinding`

  - ### size

    public int size()
    Specified by:
      `size` in interface `Collection<E>`
    Specified by:
      `size` in interface `Set<E>`

  - ### isEmpty

    public boolean isEmpty()
    Gets the value of the property empty.
    Specified by:
      `isEmpty` in interface `Collection<E>`
    Specified by:
      `isEmpty` in interface `Set<E>`
    Property description:
      A boolean property that is `true`, if the set is empty.

  - ### contains

    public boolean contains​(Object obj)
    Specified by:
      `contains` in interface `Collection<E>`
    Specified by:
      `contains` in interface `Set<E>`

  - ### iterator

    public Iterator<E> iterator()
    Specified by:
      `iterator` in interface `Collection<E>`
    Specified by:
      `iterator` in interface `Iterable<E>`
    Specified by:
      `iterator` in interface `Set<E>`

  - ### toArray

    public Object[] toArray()
    Specified by:
      `toArray` in interface `Collection<E>`
    Specified by:
      `toArray` in interface `Set<E>`

  - ### toArray

    public <T> T[] toArray​(T[] array)
    Specified by:
      `toArray` in interface `Collection<E>`
    Specified by:
      `toArray` in interface `Set<E>`

  - ### add

    public boolean add​(E element)
    Specified by:
      `add` in interface `Collection<E>`
    Specified by:
      `add` in interface `Set<E>`

  - ### remove

    public boolean remove​(Object obj)
    Specified by:
      `remove` in interface `Collection<E>`
    Specified by:
      `remove` in interface `Set<E>`

  - ### containsAll

    public boolean containsAll​(Collection<?> objects)
    Specified by:
      `containsAll` in interface `Collection<E>`
    Specified by:
      `containsAll` in interface `Set<E>`

  - ### addAll

    public boolean addAll​(Collection<? extends E> elements)
    Specified by:
      `addAll` in interface `Collection<E>`
    Specified by:
      `addAll` in interface `Set<E>`

  - ### removeAll

    public boolean removeAll​(Collection<?> objects)
    Specified by:
      `removeAll` in interface `Collection<E>`
    Specified by:
      `removeAll` in interface `Set<E>`

  - ### retainAll

    public boolean retainAll​(Collection<?> objects)
    Specified by:
      `retainAll` in interface `Collection<E>`
    Specified by:
      `retainAll` in interface `Set<E>`

  - ### clear

    public void clear()
    Specified by:
      `clear` in interface `Collection<E>`
    Specified by:
      `clear` in interface `Set<E>`