Class MapProperty<K,V>
java.lang.Object
javafx.beans.binding.MapExpression<K,V>
javafx.beans.property.ReadOnlyMapProperty<K,V>
javafx.beans.property.MapProperty<K,V>
- Type Parameters:
K- the type of the key elements of theMapV- the type of the value elements of theMap
- 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>
- Direct Known Subclasses:
MapPropertyBase
public abstract class MapProperty<K,V>
extends ReadOnlyMapProperty<K,V>
implements Property<ObservableMap<K,V>>, WritableMapValue<K,V>
This class provides a full implementation of a
Property wrapping an
ObservableMap.
The value of a MapProperty can be get and set with ObservableObjectValue.get(),
MapExpression.getValue(), WritableObjectValue.set(Object), and setValue(javafx.collections.ObservableMap).
A property can be bound and unbound unidirectional with
Property.bind(javafx.beans.value.ObservableValue) and Property.unbind(). Bidirectional bindings
can be created and removed with bindBidirectional(Property) and
unbindBidirectional(Property).
The context of a MapProperty can be read with ReadOnlyProperty.getBean()
and ReadOnlyProperty.getName().- Since:
- JavaFX 2.1
- See Also:
-
Nested Class Summary
-
Property Summary
Properties declared in class MapExpression
empty, sizeTypePropertyDescriptionabstract ReadOnlyBooleanPropertyA boolean property that istrue, if the map is empty.abstract ReadOnlyIntegerPropertyAn integer property that represents the size of the map. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbindBidirectional(Property<ObservableMap<K, V>> other) Create a bidirectional binding between thisPropertyand another one.voidsetValue(ObservableMap<K, V> v) Set the wrapped value.toString()Returns a string representation of thisMapPropertyobject.voidunbindBidirectional(Property<ObservableMap<K, V>> other) Removes a bidirectional binding between thisPropertyand another one.Methods declared in class ReadOnlyMapProperty
bindContent, bindContentBidirectional, equals, hashCode, unbindContent, unbindContentBidirectionalModifier and TypeMethodDescriptionvoidbindContent(ObservableMap<K, V> map) Creates a content binding between theObservableMap, that is wrapped in thisReadOnlyMapProperty, and anotherObservableMap.voidCreates a bidirectional content binding of theObservableMap, that is wrapped in thisReadOnlyMapProperty, and anotherObservableMap.booleaninthashCode()Returns a hash code for thisReadOnlyMapPropertyobject.voidunbindContent(Object object) Deletes a content binding between theObservableMap, that is wrapped in thisReadOnlyMapProperty, and anotherObject.voidunbindContentBidirectional(Object object) Deletes a bidirectional content binding between theObservableMap, that is wrapped in thisReadOnlyMapProperty, and anotherObject.Methods declared in class MapExpression
asString, clear, containsKey, containsValue, emptyProperty, entrySet, get, getSize, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, keySet, mapExpression, put, putAll, remove, size, sizeProperty, valueAt, valueAt, valuesModifier and TypeMethodDescriptionasString()voidclear()booleancontainsKey(Object obj) booleancontainsValue(Object obj) abstract ReadOnlyBooleanPropertyA boolean property that istrue, if the map is empty.entrySet()intgetSize()The size of the mapgetValue()Returns the current value of thisObservableValuebooleanisEmpty()Gets the value of theemptyproperty.isEqualTo(ObservableMap<?, ?> other) isNotEqualTo(ObservableMap<?, ?> other) isNull()keySet()static <K,V> MapExpression <K, V> mapExpression(ObservableMapValue<K, V> value) Returns aMapExpressionthat wraps aObservableMapValue.voidintsize()abstract ReadOnlyIntegerPropertyAn integer property that represents the size of the map.valueAt(ObservableValue<K> key) Creates a newObjectBindingthat contains the mapping of the specified key.Creates a newObjectBindingthat contains the mapping of the specified key.values()Methods declared in class Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitMethods declared in interface Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAllMethods declared in interface Observable
addListener, removeListener, subscribeModifier and TypeMethodDescriptionvoidaddListener(InvalidationListener listener) Adds anInvalidationListenerwhich will be notified whenever theObservablebecomes invalid.voidremoveListener(InvalidationListener listener) Removes the given listener from the list of listeners, that are notified whenever the value of theObservablebecomes invalid.default SubscriptionCreates aSubscriptionon thisObservablewhich callsinvalidationSubscriberwhenever it becomes invalid.Methods declared in interface ObservableMap
addListener, removeListenerModifier and TypeMethodDescriptionvoidaddListener(MapChangeListener<? super K, ? super V> listener) Add a listener to this observable map.voidremoveListener(MapChangeListener<? super K, ? super V> listener) Tries to removed a listener from this observable map.Methods declared in interface ObservableObjectValue
getModifier and TypeMethodDescriptionget()Returns the current value of thisObservableObjectValue<T>.Methods declared in interface ObservableValue
addListener, flatMap, map, orElse, removeListener, subscribe, subscribe, whenModifier and TypeMethodDescriptionvoidaddListener(ChangeListener<? super ObservableMap<K, V>> listener) Adds aChangeListenerwhich will be notified whenever the value of theObservableValuechanges.default <U> ObservableValue<U> flatMap(Function<? super ObservableMap<K, V>, ? extends ObservableValue<? extends U>> mapper) Returns anObservableValuethat holds the value of anObservableValueproduced by applying the given mapping function on this value.default <U> ObservableValue<U> map(Function<? super ObservableMap<K, V>, ? extends U> mapper) Returns anObservableValuethat holds the result of applying the given mapping function on this value.default ObservableValue<ObservableMap<K, V>> orElse(ObservableMap<K, V> constant) Returns anObservableValuethat holds this value, or the given constant if it isnull.voidremoveListener(ChangeListener<? super ObservableMap<K, V>> listener) Removes the given listener from the list of listeners that are notified whenever the value of theObservableValuechanges.default Subscriptionsubscribe(BiConsumer<? super ObservableMap<K, V>, ? super ObservableMap<K, V>> changeSubscriber) Creates aSubscriptionon thisObservableValuewhich calls the givenchangeSubscriberwith the old and new value whenever its value changes.default Subscriptionsubscribe(Consumer<? super ObservableMap<K, V>> valueSubscriber) Creates aSubscriptionon thisObservableValuewhich immediately provides the current value to the givenvalueSubscriber, followed by any subsequent values whenever its value changes.default ObservableValue<ObservableMap<K, V>> when(ObservableValue<Boolean> condition) Returns anObservableValuethat holds this value and is updated only whenconditionholdstrue.Methods declared in interface Property
bind, isBound, unbindModifier and TypeMethodDescriptionvoidbind(ObservableValue<? extends ObservableMap<K, V>> observable) Create a unidirection binding for thisProperty.booleanisBound()Can be used to check, if aPropertyis bound.voidunbind()Remove the unidirectional binding for thisProperty.Methods declared in interface ReadOnlyProperty
getBean, getNameMethods declared in interface WritableObjectValue
get, setModifier and TypeMethodDescriptionget()Get the wrapped value.voidset(ObservableMap<K, V> value) Set the wrapped value.Methods declared in interface WritableValue
getValue
-
Constructor Details
-
MapProperty
public MapProperty()Creates a defaultMapProperty.
-
-
Method Details
-
setValue
Set the wrapped value.- Specified by:
setValuein interfaceWritableValue<K>- Parameters:
v- The new value
-
bindBidirectional
Create a bidirectional binding between thisPropertyand another one. Bidirectional bindings exists independently of unidirectional bindings. So it is possible to add unidirectional binding to a property with bidirectional binding and vice-versa. However, this practice is discouraged.It is possible to have multiple bidirectional bindings of one Property.
JavaFX bidirectional binding implementation use weak listeners. This means bidirectional binding does not prevent properties from being garbage collected.
- Specified by:
bindBidirectionalin interfaceProperty<K>- Parameters:
other- the otherProperty
-
unbindBidirectional
Removes a bidirectional binding between thisPropertyand another one. If no bidirectional binding between the properties exists, calling this method has no effect. It is possible to unbind by a call on the second property. This code will work:property1.bindBidirectional(property2); property2.unbindBidirectional(property1);- Specified by:
unbindBidirectionalin interfaceProperty<K>- Parameters:
other- the otherProperty
-
toString
Returns a string representation of thisMapPropertyobject.- Overrides:
toStringin classReadOnlyMapProperty<K,V> - Returns:
- a string representation of this
MapPropertyobject.
-