Class SimpleMapPropertyEx<K,V>
java.lang.Object
javafx.beans.binding.MapExpression<K,V>
javafx.beans.property.ReadOnlyMapProperty<K,V>
javafx.beans.property.MapProperty<K,V>
javafx.beans.property.MapPropertyBase<K,V>
javafx.beans.property.SimpleMapProperty<K,V>
org.eclipse.gef.common.beans.property.SimpleMapPropertyEx<K,V>
- Type Parameters:
K
- The key type of the wrappedObservableMap
.V
- The value type of the wrappedObservableMap
.
- All Implemented Interfaces:
Map<K,
,V> Observable
,Property<ObservableMap<K,
,V>> ReadOnlyProperty<ObservableMap<K,
,V>> ObservableMapValue<K,
,V> ObservableObjectValue<ObservableMap<K,
,V>> ObservableValue<ObservableMap<K,
,V>> WritableMapValue<K,
,V> WritableObjectValue<ObservableMap<K,
,V>> WritableValue<ObservableMap<K,
,V>> ObservableMap<K,
V>
A replacement for
SimpleMapProperty
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)
- All listeners were removed when removing one (https://bugs.openjdk.java.net/browse/JDK-8136465): fixed by keeping track of all listeners and ensuring that remaining listeners are re-added when a listener is removed.
-
Property Summary
Properties inherited from class javafx.beans.property.MapPropertyBase
empty, size
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionCreates a new unnamedSimpleMapPropertyEx
.SimpleMapPropertyEx
(Object bean, String name) Constructs a newSimpleMapPropertyEx
for the given bean and with the given name.SimpleMapPropertyEx
(Object bean, String name, ObservableMap<K, V> initialValue) Constructs a newSimpleMapPropertyEx
for the given bean and with the given name and initial value.SimpleMapPropertyEx
(ObservableMap<K, V> initialValue) Constructs a new unnamedSimpleMapPropertyEx
that is not related to a bean, with the given initial value. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(InvalidationListener listener) void
addListener
(ChangeListener<? super ObservableMap<K, V>> listener) void
addListener
(MapChangeListener<? super K, ? super V> listener) protected void
protected void
fireValueChangedEvent
(MapChangeListener.Change<? extends K, ? extends V> change) int
hashCode()
void
removeListener
(InvalidationListener listener) void
removeListener
(ChangeListener<? super ObservableMap<K, V>> listener) void
removeListener
(MapChangeListener<? super K, ? super V> listener) Methods inherited from class javafx.beans.property.SimpleMapProperty
getBean, getName
Methods inherited from class javafx.beans.property.MapPropertyBase
bind, emptyProperty, get, invalidated, isBound, set, sizeProperty, toString, unbind
Methods inherited from class javafx.beans.property.MapProperty
bindBidirectional, setValue, unbindBidirectional
Methods inherited from class javafx.beans.property.ReadOnlyMapProperty
bindContent, bindContentBidirectional, equals, unbindContent, unbindContentBidirectional
Methods inherited from class javafx.beans.binding.MapExpression
asString, clear, containsKey, containsValue, entrySet, get, getSize, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, keySet, mapExpression, put, putAll, remove, size, valueAt, valueAt, values
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
Methods inherited from interface javafx.beans.value.ObservableValue
getValue
Methods inherited from interface javafx.beans.value.WritableValue
getValue
-
Constructor Details
-
SimpleMapPropertyEx
public SimpleMapPropertyEx()Creates a new unnamedSimpleMapPropertyEx
. -
SimpleMapPropertyEx
Constructs a newSimpleMapPropertyEx
for the given bean and with the given name.- Parameters:
bean
- The bean this property is related to.name
- The name of the property.
-
SimpleMapPropertyEx
Constructs a newSimpleMapPropertyEx
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
-
SimpleMapPropertyEx
Constructs a new unnamedSimpleMapPropertyEx
that is not related to a bean, with the given initial value.- Parameters:
initialValue
- The initial value of the property
-
-
Method Details
-
addListener
- Specified by:
addListener
in interfaceObservableValue<K>
- Overrides:
addListener
in classMapPropertyBase<K,
V>
-
addListener
- Specified by:
addListener
in interfaceObservable
- Overrides:
addListener
in classMapPropertyBase<K,
V>
-
addListener
- Specified by:
addListener
in interfaceObservableMap<K,
V> - Overrides:
addListener
in classMapPropertyBase<K,
V>
-
fireValueChangedEvent
protected void fireValueChangedEvent()- Overrides:
fireValueChangedEvent
in classMapPropertyBase<K,
V>
-
fireValueChangedEvent
- Overrides:
fireValueChangedEvent
in classMapPropertyBase<K,
V>
-
hashCode
public int hashCode() -
removeListener
- Specified by:
removeListener
in interfaceObservableValue<K>
- Overrides:
removeListener
in classMapPropertyBase<K,
V>
-
removeListener
- Specified by:
removeListener
in interfaceObservable
- Overrides:
removeListener
in classMapPropertyBase<K,
V>
-
removeListener
- Specified by:
removeListener
in interfaceObservableMap<K,
V> - Overrides:
removeListener
in classMapPropertyBase<K,
V>
-