# 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 declared in class 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 declared in class 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 declared in class Object

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

  ### Methods declared in interface Collection

  `parallelStream, removeIf, stream, toArray`

  ### Methods declared in interface Iterable

  `forEach`

  ### Methods declared in interface Observable

  `addListener, removeListener, subscribe`

  ### Methods declared in interface ObservableObjectValue

  `get`

  ### Methods declared in interface ObservableSet

  `addListener, removeListener`

  ### Methods declared in interface ObservableValue

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

  ### Methods declared in interface ReadOnlyProperty

  `getBean, getName`

  ### Methods declared in interface Set

  `spliterator`

- ## Constructor Details

  - ### ReadOnlySetProperty

    public ReadOnlySetProperty()
    The constructor of `ReadOnlySetProperty`.

- ## Method Details

  - ### 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.