Class ReadOnlySetWrapperEx<E>
java.lang.Object
javafx.beans.binding.SetExpression<E>
javafx.beans.property.ReadOnlySetProperty<E>
javafx.beans.property.SetProperty<E>
javafx.beans.property.SetPropertyBase<E>
javafx.beans.property.SimpleSetProperty<E>
javafx.beans.property.ReadOnlySetWrapper<E>
org.eclipse.gef.common.beans.property.ReadOnlySetWrapperEx<E>
- Type Parameters:
E
- The element type of the wrappedObservableSet
.
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,Set<E>
,javafx.beans.Observable
,javafx.beans.property.Property<javafx.collections.ObservableSet<E>>
,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.beans.value.WritableObjectValue<javafx.collections.ObservableSet<E>>
,javafx.beans.value.WritableSetValue<E>
,javafx.beans.value.WritableValue<javafx.collections.ObservableSet<E>>
,javafx.collections.ObservableSet<E>
public class ReadOnlySetWrapperEx<E>
extends javafx.beans.property.ReadOnlySetWrapper<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)
- Bidirectional binding not working (https://bugs.openjdk.java.net/browse/JDK-8089557): fixed by not forwarding listeners to the nested read-only property but rather keeping the lists of listeners distinct.
-
Property Summary
Properties inherited from class javafx.beans.property.SetPropertyBase
empty, size
-
Constructor Summary
ConstructorDescriptionCreates a new unnamedReadOnlySetWrapperEx
.ReadOnlySetWrapperEx
(Object bean, String name) Creates a new namedReadOnlySetWrapperEx
related to the given bean.ReadOnlySetWrapperEx
(Object bean, String name, javafx.collections.ObservableSet<E> initialValue) Creates a new namedReadOnlySetWrapperEx
, related to the given bean and provided with the initial value.ReadOnlySetWrapperEx
(javafx.collections.ObservableSet<E> initialValue) Creates a new unnamedReadOnlySetWrapperEx
with the given initial value. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(javafx.beans.InvalidationListener listener) void
addListener
(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener) void
addListener
(javafx.collections.SetChangeListener<? super E> listener) protected void
protected void
fireValueChangedEvent
(javafx.collections.SetChangeListener.Change<? extends E> change) javafx.beans.property.ReadOnlySetProperty<E>
int
hashCode()
void
removeListener
(javafx.beans.InvalidationListener listener) void
removeListener
(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener) void
removeListener
(javafx.collections.SetChangeListener<? super E> listener) Methods inherited from class javafx.beans.property.SimpleSetProperty
getBean, getName
Methods inherited from class javafx.beans.property.SetPropertyBase
bind, emptyProperty, get, invalidated, isBound, set, sizeProperty, toString, unbind
Methods inherited from class javafx.beans.property.SetProperty
bindBidirectional, setValue, unbindBidirectional
Methods inherited from class javafx.beans.property.ReadOnlySetProperty
bindContent, bindContentBidirectional, equals, unbindContent, unbindContentBidirectional
Methods inherited from class javafx.beans.binding.SetExpression
add, addAll, asString, clear, contains, containsAll, getSize, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, remove, removeAll, retainAll, setExpression, size, 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 javafx.beans.value.ObservableValue
getValue
Methods inherited from interface java.util.Set
add, addAll, clear, contains, containsAll, equals, isEmpty, iterator, remove, removeAll, retainAll, size, spliterator, toArray, toArray
Methods inherited from interface javafx.beans.value.WritableValue
getValue
-
Constructor Details
-
ReadOnlySetWrapperEx
public ReadOnlySetWrapperEx()Creates a new unnamedReadOnlySetWrapperEx
. -
ReadOnlySetWrapperEx
Creates a new namedReadOnlySetWrapperEx
related to the given bean.- Parameters:
bean
- The bean to relate the to be createdReadOnlySetWrapperEx
to.name
- The name for the to be createdReadOnlySetWrapperEx
.
-
ReadOnlySetWrapperEx
public ReadOnlySetWrapperEx(Object bean, String name, javafx.collections.ObservableSet<E> initialValue) Creates a new namedReadOnlySetWrapperEx
, related to the given bean and provided with the initial value.- Parameters:
bean
- The bean to relate the to be createdReadOnlySetWrapperEx
to.name
- The name for the to be createdReadOnlySetWrapperEx
.initialValue
- The initial value of the to be createdReadOnlySetWrapperEx
.
-
ReadOnlySetWrapperEx
Creates a new unnamedReadOnlySetWrapperEx
with the given initial value.- Parameters:
initialValue
- The initial value of the to be createdReadOnlySetWrapperEx
.
-
-
Method Details
-
addListener
public void addListener(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener) -
addListener
public void addListener(javafx.beans.InvalidationListener listener) - Specified by:
addListener
in interfacejavafx.beans.Observable
- Overrides:
addListener
in classjavafx.beans.property.SetPropertyBase<E>
-
addListener
-
fireValueChangedEvent
protected void fireValueChangedEvent()- Overrides:
fireValueChangedEvent
in classjavafx.beans.property.ReadOnlySetWrapper<E>
-
fireValueChangedEvent
protected void fireValueChangedEvent(javafx.collections.SetChangeListener.Change<? extends E> change) - Overrides:
fireValueChangedEvent
in classjavafx.beans.property.ReadOnlySetWrapper<E>
-
getReadOnlyProperty
- Overrides:
getReadOnlyProperty
in classjavafx.beans.property.ReadOnlySetWrapper<E>
-
hashCode
public int hashCode() -
removeListener
public void removeListener(javafx.beans.value.ChangeListener<? super javafx.collections.ObservableSet<E>> listener) -
removeListener
public void removeListener(javafx.beans.InvalidationListener listener) - Specified by:
removeListener
in interfacejavafx.beans.Observable
- Overrides:
removeListener
in classjavafx.beans.property.SetPropertyBase<E>
-
removeListener
-