Module javafx.base
Package javafx.beans.property

## Class ReadOnlySetProperty<E>

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

- Type Parameters:
    `E` - the type of the `Set` elements
  All Implemented Interfaces:
    `Iterable<E>`, `Collection<E>`, `Set<E>`, `Observable`, `ReadOnlyProperty<ObservableSet<E>>`, `ObservableObjectValue<ObservableSet<E>>`, `ObservableSetValue<E>`, `ObservableValue<ObservableSet<E>>`, `ObservableSet<E>`
  Direct Known Subclasses:
    `ReadOnlySetPropertyBase`, `SetProperty`

      public abstract class ReadOnlySetProperty<E>
      extends SetExpression<E>
      implements ReadOnlyProperty<ObservableSet<E>>

  Superclass for all readonly properties wrapping an `ObservableSet`.
  Since:
    JavaFX 2.1
  See Also:
    `ObservableSet`, `ObservableSetValue`, `SetExpression`, `ReadOnlyProperty`

- - ### Property Summary

    - ### Properties inherited from class javafx.beans.binding.SetExpression

      `empty, size`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ReadOnlySetProperty()` | The constructor of `ReadOnlySetProperty`.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `bindContent​(ObservableSet<E> set)` | Creates a content binding between the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `ObservableSet`.
    `void` | `bindContentBidirectional​(ObservableSet<E> set)` | Creates a bidirectional content binding of the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `ObservableSet`.
    `boolean` | `equals​(Object obj)` |
    `int` | `hashCode()` | Returns a hash code for this `ReadOnlySetProperty` object.
    `String` | `toString()` | Returns a string representation of this `ReadOnlySetProperty` object.
    `void` | `unbindContent​(Object object)` | Deletes a content binding between the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `Object`.
    `void` | `unbindContentBidirectional​(Object object)` | Deletes a bidirectional content binding between the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `Object`.

    - ### Methods inherited from class javafx.beans.binding.SetExpression

      `add, addAll, asString, clear, contains, containsAll, emptyProperty, getSize, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, remove, removeAll, retainAll, setExpression, size, sizeProperty, toArray, toArray`

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

      `clone, finalize, getClass, notify, notifyAll, 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, getValue, removeListener`

    - ### Methods inherited from interface javafx.beans.property.ReadOnlyProperty

      `getBean, getName`

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

      `spliterator`

- - ### Constructor Detail

    - #### ReadOnlySetProperty

          public ReadOnlySetProperty()

      The constructor of `ReadOnlySetProperty`.

  - ### Method Detail

    - #### bindContentBidirectional

          public void bindContentBidirectional​(ObservableSet<E> set)

      Creates a bidirectional content binding of the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `ObservableSet`.

      A bidirectional content binding ensures that the content of two `ObservableSets` is the same. If the content of one of the sets changes, the other one will be updated automatically.

      Parameters:
        `set` - the `ObservableSet` this property should be bound to
      Throws:
        `NullPointerException` - if `set` is `null`
        `IllegalArgumentException` - if `set` is the same set that this `ReadOnlySetProperty` points to

    - #### unbindContentBidirectional

          public void unbindContentBidirectional​(Object object)

      Deletes a bidirectional content binding between the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `Object`.
      Parameters:
        `object` - the `Object` to which the bidirectional binding should be removed
      Throws:
        `NullPointerException` - if `object` is `null`
        `IllegalArgumentException` - if `object` is the same set that this `ReadOnlySetProperty` points to

    - #### bindContent

          public void bindContent​(ObservableSet<E> set)

      Creates a content binding between the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `ObservableSet`.

      A content binding ensures that the content of the wrapped `ObservableSets` is the same as that of the other set. If the content of the other set changes, the wrapped set will be updated automatically. Once the wrapped set is bound to another set, you must not change it directly.

      Parameters:
        `set` - the `ObservableSet` this property should be bound to
      Throws:
        `NullPointerException` - if `set` is `null`
        `IllegalArgumentException` - if `set` is the same set that this `ReadOnlySetProperty` points to

    - #### unbindContent

          public void unbindContent​(Object object)

      Deletes a content binding between the `ObservableSet`, that is wrapped in this `ReadOnlySetProperty`, and another `Object`.
      Parameters:
        `object` - the `Object` to which the binding should be removed
      Throws:
        `NullPointerException` - if `object` is `null`
        `IllegalArgumentException` - if `object` is the same set that this `ReadOnlySetProperty` points to

    - #### equals

          public boolean equals​(Object obj)

      Specified by:
        `equals` in interface `Collection<E>`
      Specified by:
        `equals` in interface `Set<E>`
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Returns a hash code for this `ReadOnlySetProperty` object.
      Specified by:
        `hashCode` in interface `Collection<E>`
      Specified by:
        `hashCode` in interface `Set<E>`
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code for this `ReadOnlySetProperty` object.

    - #### toString

          public String toString()

      Returns a string representation of this `ReadOnlySetProperty` object.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this `ReadOnlySetProperty` object.