Package org.eclipse.gef.common.beans.property

# Class SimpleListPropertyEx<E>

java.lang.Object
javafx.beans.binding.ListExpression<E>
javafx.beans.property.ReadOnlyListProperty<E>
javafx.beans.property.ListProperty<E>
javafx.beans.property.ListPropertyBase<E>
javafx.beans.property.SimpleListProperty<E>
org.eclipse.gef.common.beans.property.SimpleListPropertyEx<E>

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

All Implemented Interfaces:
  `Iterable<E>`, `Collection<E>`, `List<E>`, `Observable`, `Property<ObservableList<E>>`, `ReadOnlyProperty<ObservableList<E>>`, `ObservableListValue<E>`, `ObservableObjectValue<ObservableList<E>>`, `ObservableValue<ObservableList<E>>`, `WritableListValue<E>`, `WritableObjectValue<ObservableList<E>>`, `WritableValue<ObservableList<E>>`, `ObservableList<E>`

public class SimpleListPropertyEx<E> extends SimpleListProperty<E>
A replacement for `SimpleListProperty` to fix the following JavaFX issue:

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

`empty, size`

## Constructor Summary

Constructors
Constructor
Description
`SimpleListPropertyEx()`
Creates a new unnamed `SimpleListPropertyEx`.
`SimpleListPropertyEx(Object bean, String name)`
Constructs a new `SimpleListPropertyEx` for the given bean and with the given name.
`SimpleListPropertyEx(Object bean, String name, ObservableList<E> initialValue)`
Constructs a new `SimpleListPropertyEx` for the given bean and with the given name and initial value.
`SimpleListPropertyEx(ObservableList<E> initialValue)`
Constructs a new unnamed `SimpleListPropertyEx` that is not related to a bean, with the given initial value.

## Method Summary

Modifier and Type
Method
Description
`void`
`addListener(InvalidationListener listener)`
`void`
`addListener(ChangeListener<? super ObservableList<E>> listener)`
`void`
`addListener(ListChangeListener<? super E> listener)`
`protected void`
`fireValueChangedEvent()`
`protected void`
`fireValueChangedEvent(ListChangeListener.Change<? extends E> change)`
`int`
`hashCode()`
`void`
`removeListener(InvalidationListener listener)`
`void`
`removeListener(ChangeListener<? super ObservableList<E>> listener)`
`void`
`removeListener(ListChangeListener<? super E> listener)`

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

`getBean, getName`

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

`bind, emptyProperty, get, invalidated, isBound, set, sizeProperty, toString, unbind`

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

`bindBidirectional, setValue, unbindBidirectional`

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

`bindContent, bindContentBidirectional, equals, unbindContent, unbindContentBidirectional`

### Methods inherited from class javafx.beans.binding.ListExpression

`add, add, addAll, addAll, addAll, asString, clear, contains, containsAll, get, getSize, getValue, indexOf, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, lastIndexOf, listExpression, listIterator, listIterator, remove, remove, remove, removeAll, removeAll, retainAll, retainAll, set, setAll, setAll, size, subList, toArray, toArray, valueAt, valueAt`

### 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 java.util.List

`add, add, addAll, addAll, clear, contains, containsAll, equals, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray`

### Methods inherited from interface javafx.collections.ObservableList

`addAll, filtered, remove, removeAll, retainAll, setAll, setAll, sorted, sorted`

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

`getValue`

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

`getValue`

## Constructor Details

### SimpleListPropertyEx

public SimpleListPropertyEx()
Creates a new unnamed `SimpleListPropertyEx`.

### SimpleListPropertyEx

public SimpleListPropertyEx(Object bean, String name)
Constructs a new `SimpleListPropertyEx` for the given bean and with the given name.

Parameters:
  `bean` - The bean this property is related to.
  `name` - The name of the property.

### SimpleListPropertyEx

public SimpleListPropertyEx(Object bean, String name, ObservableList<E> initialValue)
Constructs a new `SimpleListPropertyEx` for the given bean and with the given name and initial value.

Parameters:
  `bean` - The bean this property is related to.
  `name` - The name of the property.
  `initialValue` - The initial value of the property

### SimpleListPropertyEx

public SimpleListPropertyEx(ObservableList<E> initialValue)
Constructs a new unnamed `SimpleListPropertyEx` that is not related to a bean, with the given initial value.

Parameters:
  `initialValue` - The initial value of the property

## Method Details

### addListener

public void addListener(ChangeListener<? super ObservableList<E>> listener)

Specified by:
  `addListener` in interface `ObservableValue<E>`
Overrides:
  `addListener` in class `ListPropertyBase<E>`

### addListener

public void addListener(InvalidationListener listener)

Specified by:
  `addListener` in interface `Observable`
Overrides:
  `addListener` in class `ListPropertyBase<E>`

### addListener

public void addListener(ListChangeListener<? super E> listener)

Specified by:
  `addListener` in interface `ObservableList<E>`
Overrides:
  `addListener` in class `ListPropertyBase<E>`

### fireValueChangedEvent

protected void fireValueChangedEvent()

Overrides:
  `fireValueChangedEvent` in class `ListPropertyBase<E>`

### fireValueChangedEvent

protected void fireValueChangedEvent(ListChangeListener.Change<? extends E> change)

Overrides:
  `fireValueChangedEvent` in class `ListPropertyBase<E>`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in interface `Collection<E>`
Specified by:
  `hashCode` in interface `List<E>`
Overrides:
  `hashCode` in class `ReadOnlyListProperty<E>`

### removeListener

public void removeListener(ChangeListener<? super ObservableList<E>> listener)

Specified by:
  `removeListener` in interface `ObservableValue<E>`
Overrides:
  `removeListener` in class `ListPropertyBase<E>`

### removeListener

public void removeListener(InvalidationListener listener)

Specified by:
  `removeListener` in interface `Observable`
Overrides:
  `removeListener` in class `ListPropertyBase<E>`

### removeListener

public void removeListener(ListChangeListener<? super E> listener)

Specified by:
  `removeListener` in interface `ObservableList<E>`
Overrides:
  `removeListener` in class `ListPropertyBase<E>`