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