org.eclipse.gef.common.beans.property

## Class ReadOnlySetPropertyBaseEx<E>

- java.lang.Object
- - javafx.beans.binding.SetExpression<E>
  - - javafx.beans.property.ReadOnlySetProperty<E>
    - - javafx.beans.property.ReadOnlySetPropertyBase<E>
      - - org.eclipse.gef.common.beans.property.ReadOnlySetPropertyBaseEx<E>

Type Parameters:
  `E` - The element type of the wrapped `ObservableSet`.

All Implemented Interfaces:
  java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>, javafx.beans.Observable, javafx.beans.property.ReadOnlyProperty<javafx.collections.ObservableSet<E>>, javafx.beans.value.ObservableObjectValue<javafx.collections.ObservableSet<E>>, javafx.beans.value.ObservableSetValue<E>, javafx.beans.value.ObservableValue<javafx.collections.ObservableSet<E>>, javafx.collections.ObservableSet<E>

    public abstract class ReadOnlySetPropertyBaseEx<E>
    extends javafx.beans.property.ReadOnlySetPropertyBase<E>

A replacement for `ReadOnlySetWrapper` to fix the following JavaFX issues:

- Change notifications are fired even when the observed value did not change.(https://bugs.openjdk.java.net/browse/JDK-8089169)

### Property Summary

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

`empty, size`

### Constructor Summary

Constructors
Constructor and Description
`ReadOnlySetPropertyBaseEx()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addListener(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener)`
`void` `addListener(javafx.beans.InvalidationListener listener)`
`void` `addListener(javafx.collections.SetChangeListener<? super E> listener)`
`protected void` `fireValueChangedEvent()`
`protected void` `fireValueChangedEvent(javafx.collections.SetChangeListener.Change<? extends E> change)`
`int` `hashCode()`
`void` `removeListener(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener)`
`void` `removeListener(javafx.beans.InvalidationListener listener)`
`void` `removeListener(javafx.collections.SetChangeListener<? super E> listener)`

### Methods inherited from class javafx.beans.property.ReadOnlySetProperty

`bindContent, bindContentBidirectional, equals, toString, unbindContent, unbindContentBidirectional`

### 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 javafx.beans.property.ReadOnlyProperty

`getBean, getName`

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

`getValue`

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

`get`

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

`spliterator`

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

`parallelStream, removeIf, stream`

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

`forEach`

### Constructor Detail

#### ReadOnlySetPropertyBaseEx

    public ReadOnlySetPropertyBaseEx()

### Method Detail

#### addListener

    public void addListener(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener)

Specified by:
  `addListener` in interface `javafx.beans.value.ObservableValue<javafx.collections.ObservableSet<E>>`
Overrides:
  `addListener` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### addListener

    public void addListener(javafx.beans.InvalidationListener listener)

Specified by:
  `addListener` in interface `javafx.beans.Observable`
Overrides:
  `addListener` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### addListener

    public void addListener(javafx.collections.SetChangeListener<? super E> listener)

Specified by:
  `addListener` in interface `javafx.collections.ObservableSet<E>`
Overrides:
  `addListener` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### fireValueChangedEvent

    protected void fireValueChangedEvent()

Overrides:
  `fireValueChangedEvent` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### fireValueChangedEvent

    protected void fireValueChangedEvent(javafx.collections.SetChangeListener.Change<? extends E> change)

Overrides:
  `fireValueChangedEvent` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `java.util.Collection<E>`
Specified by:
  `hashCode` in interface `java.util.Set<E>`
Overrides:
  `hashCode` in class `javafx.beans.property.ReadOnlySetProperty<E>`

#### removeListener

    public void removeListener(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener)

Specified by:
  `removeListener` in interface `javafx.beans.value.ObservableValue<javafx.collections.ObservableSet<E>>`
Overrides:
  `removeListener` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### removeListener

    public void removeListener(javafx.beans.InvalidationListener listener)

Specified by:
  `removeListener` in interface `javafx.beans.Observable`
Overrides:
  `removeListener` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`

#### removeListener

    public void removeListener(javafx.collections.SetChangeListener<? super E> listener)

Specified by:
  `removeListener` in interface `javafx.collections.ObservableSet<E>`
Overrides:
  `removeListener` in class `javafx.beans.property.ReadOnlySetPropertyBase<E>`