Module javafx.base
Package javafx.beans.property

# Class SetPropertyBase<E>

java.lang.Object
javafx.beans.binding.SetExpression<E>
javafx.beans.property.ReadOnlySetProperty<E>
javafx.beans.property.SetProperty<E>
javafx.beans.property.SetPropertyBase<E>

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

All Implemented Interfaces:
  `Iterable<E>`, `Collection<E>`, `Set<E>`, `Observable`, `Property<ObservableSet<E>>`, `ReadOnlyProperty<ObservableSet<E>>`, `ObservableObjectValue<ObservableSet<E>>`, `ObservableSetValue<E>`, `ObservableValue<ObservableSet<E>>`, `WritableObjectValue<ObservableSet<E>>`, `WritableSetValue<E>`, `WritableValue<ObservableSet<E>>`, `ObservableSet<E>`

Direct Known Subclasses:
  `SimpleSetProperty`

    public abstract class SetPropertyBase<E>
    extends SetProperty<E>

The class `SetPropertyBase` is the base class for a property wrapping an `ObservableSet`. It provides all the functionality required for a property except for the `ReadOnlyProperty.getBean()` and `ReadOnlyProperty.getName()` methods, which must be implemented by extending classes.

Since:
  JavaFX 2.1
See Also:
  `ObservableSet`, `SetProperty`

- ## Property Summary

  ### Properties declared in class javafx.beans.binding.SetExpression

  `empty, size`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `SetPropertyBase()` | The Constructor of `SetPropertyBase`
  `SetPropertyBase​(ObservableSet<E> initialValue)` | The constructor of the `SetPropertyBase`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected void` | `fireValueChangedEvent()` | Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `SetChangeListener`.
  `protected void` | `fireValueChangedEvent​(SetChangeListener.Change<? extends E> change)` | Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `SetChangeListener`.
  `protected void` | `invalidated()` | The method `invalidated()` can be overridden to receive invalidation notifications.
  `String` | `toString()` | Returns a string representation of this `SetPropertyBase` object.

  ### Methods declared in class javafx.beans.property.ReadOnlySetProperty

  `bindContent, bindContentBidirectional, hashCode, unbindContent, unbindContentBidirectional`

  ### Methods declared in class javafx.beans.binding.SetExpression

  `asString, emptyProperty, getSize, isEqualTo, isNotEqualTo, isNotNull, isNull, setExpression, sizeProperty`

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

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

  ### Methods declared in interface java.util.Collection

  `parallelStream, removeIf, stream, toArray`

  ### Methods declared in interface java.lang.Iterable

  `forEach`

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

  `addListener, removeListener`

  ### Methods declared in interface javafx.beans.value.ObservableObjectValue

  `get`

  ### Methods declared in interface javafx.collections.ObservableSet

  `addListener, removeListener`

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

  `addListener, getValue, removeListener`

  ### Methods declared in interface javafx.beans.property.Property

  `bind, bindBidirectional, isBound, unbind, unbindBidirectional`

  ### Methods declared in interface javafx.beans.property.ReadOnlyProperty

  `getBean, getName`

  ### Methods declared in interface java.util.Set

  `add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray`

  ### Methods declared in interface javafx.beans.value.WritableObjectValue

  `get, set`

  ### Methods declared in interface javafx.beans.value.WritableValue

  `getValue, setValue`

- ## Constructor Details

  - ### SetPropertyBase

    public SetPropertyBase()
    The Constructor of `SetPropertyBase`

  - ### SetPropertyBase

    public SetPropertyBase​(ObservableSet<E> initialValue)
    The constructor of the `SetPropertyBase`.
    Parameters:
      `initialValue` - the initial value of the wrapped value

- ## Method Details

  - ### fireValueChangedEvent

    protected void fireValueChangedEvent()
    Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `SetChangeListener`. This method is called when the value is changed, either manually by calling `WritableObjectValue.set(javafx.collections.ObservableSet)` or in case of a bound property, if the binding becomes invalid.

  - ### fireValueChangedEvent

    protected void fireValueChangedEvent​(SetChangeListener.Change<? extends E> change)
    Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `SetChangeListener`. This method is called when the content of the list changes.
    Parameters:
      `change` - the change that needs to be propagated

  - ### invalidated

    protected void invalidated()
    The method `invalidated()` can be overridden to receive invalidation notifications. This is the preferred option in `Objects` defining the property, because it requires less memory. The default implementation is empty.

  - ### toString

    public String toString()
    Returns a string representation of this `SetPropertyBase` object.
    Overrides:
      `toString` in class `SetProperty<E>`
    Returns:
      a string representation of this `SetPropertyBase` object.