- java.lang.Object
- 
- javafx.beans.binding.MapExpression<K,V>
- 
- javafx.beans.binding.MapBinding<K,V>
 
 
- 
- Type Parameters:
- K- the type of the key elements
- V- the type of the value elements
 - All Implemented Interfaces:
- Map<K,V>,- Binding<ObservableMap<K,V>>,- Observable,- ObservableMapValue<K,V>,- ObservableObjectValue<ObservableMap<K,V>>,- ObservableValue<ObservableMap<K,V>>,- ObservableMap<K,V>
 
 public abstract class MapBinding<K,V> extends MapExpression<K,V> implements Binding<ObservableMap<K,V>> Base class that provides most of the functionality needed to implement aBindingof anObservableMap.MapBindingprovides a simple invalidation-scheme. An extending class can register dependencies by callingbind(Observable...). If one of the registered dependencies becomes invalid, thisMapBindingis marked as invalid. Withunbind(Observable...)listening to dependencies can be stopped.To provide a concrete implementation of this class, the method computeValue()has to be implemented to calculate the value of this binding based on the current state of the dependencies. It is called whenget()is called for an invalid binding.See DoubleBindingfor an example how this base class can be extended.- Since:
- JavaFX 2.1
- See Also:
- Binding,- MapExpression
 
- 
- 
Property SummaryProperties Type Property Description ReadOnlyBooleanPropertyemptyA boolean property that istrue, if the map is empty.ReadOnlyIntegerPropertysizeAn integer property that represents the size of the map.
 - 
Constructor SummaryConstructors Constructor Description MapBinding()
 - 
Method SummaryModifier and Type Method Description voidaddListener(InvalidationListener listener)Adds anInvalidationListenerwhich will be notified whenever theObservablebecomes invalid.voidaddListener(ChangeListener<? super ObservableMap<K,V>> listener)Adds aChangeListenerwhich will be notified whenever the value of theObservableValuechanges.voidaddListener(MapChangeListener<? super K,? super V> listener)Add a listener to this observable map.protected voidbind(Observable... dependencies)Start observing the dependencies for changes.protected abstract ObservableMap<K,V>computeValue()Calculates the current value of this binding.voiddispose()A default implementation ofdispose()that is empty.ReadOnlyBooleanPropertyemptyProperty()A boolean property that istrue, if the map is empty.ObservableMap<K,V>get()Returns the result ofcomputeValue().ObservableList<?>getDependencies()A default implementation ofgetDependencies()that returns an emptyObservableList.voidinvalidate()Mark a binding as invalid.booleanisValid()Checks if a binding is valid.protected voidonInvalidating()The method onInvalidating() can be overridden by extending classes to react, if this binding becomes invalid.voidremoveListener(InvalidationListener listener)Removes the given listener from the list of listeners, that are notified whenever the value of theObservablebecomes invalid.voidremoveListener(ChangeListener<? super ObservableMap<K,V>> listener)Removes the given listener from the list of listeners that are notified whenever the value of theObservableValuechanges.voidremoveListener(MapChangeListener<? super K,? super V> listener)Tries to removed a listener from this observable map.ReadOnlyIntegerPropertysizeProperty()An integer property that represents the size of the map.StringtoString()Returns a string representation of thisMapBindingobject.protected voidunbind(Observable... dependencies)Stop observing the dependencies for changes.- 
Methods inherited from class javafx.beans.binding.MapExpressionasString, 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.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface java.util.Mapcompute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
 - 
Methods inherited from interface javafx.beans.value.ObservableValuegetValue
 
- 
 
- 
- 
- 
Property Detail- 
sizepublic ReadOnlyIntegerProperty sizeProperty - Specified by:
- sizePropertyin class- MapExpression<K,V>
- See Also:
- MapExpression.getSize()
 
 - 
emptypublic ReadOnlyBooleanProperty emptyProperty - Specified by:
- emptyPropertyin class- MapExpression<K,V>
- See Also:
- MapExpression.isEmpty()
 
 
- 
 - 
Method Detail- 
sizePropertypublic ReadOnlyIntegerProperty sizeProperty() Description copied from class:MapExpressionAn integer property that represents the size of the map.- Specified by:
- sizePropertyin class- MapExpression<K,V>
- See Also:
- MapExpression.getSize()
 
 - 
emptyPropertypublic ReadOnlyBooleanProperty emptyProperty() Description copied from class:MapExpressionA boolean property that istrue, if the map is empty.- Specified by:
- emptyPropertyin class- MapExpression<K,V>
- See Also:
- MapExpression.isEmpty()
 
 - 
addListenerpublic void addListener(InvalidationListener listener) Description copied from interface:ObservableAdds anInvalidationListenerwhich will be notified whenever theObservablebecomes invalid. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.Note that the same actual InvalidationListenerinstance may be safely registered for differentObservables.The Observablestores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by callingremoveListenerafter use or to use an instance ofWeakInvalidationListeneravoid this situation.- Specified by:
- addListenerin interface- Observable
- Parameters:
- listener- The listener to register
- See Also:
- Observable.removeListener(InvalidationListener)
 
 - 
removeListenerpublic void removeListener(InvalidationListener listener) Description copied from interface:ObservableRemoves the given listener from the list of listeners, that are notified whenever the value of theObservablebecomes invalid.If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed. - Specified by:
- removeListenerin interface- Observable
- Parameters:
- listener- The listener to remove
- See Also:
- Observable.addListener(InvalidationListener)
 
 - 
addListenerpublic void addListener(ChangeListener<? super ObservableMap<K,V>> listener) Description copied from interface:ObservableValueAdds aChangeListenerwhich will be notified whenever the value of theObservableValuechanges. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.Note that the same actual ChangeListenerinstance may be safely registered for differentObservableValues.The ObservableValuestores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by callingremoveListenerafter use or to use an instance ofWeakChangeListeneravoid this situation.- Specified by:
- addListenerin interface- ObservableValue<K>
- Parameters:
- listener- The listener to register
- See Also:
- ObservableValue.removeListener(ChangeListener)
 
 - 
removeListenerpublic void removeListener(ChangeListener<? super ObservableMap<K,V>> listener) Description copied from interface:ObservableValueRemoves the given listener from the list of listeners that are notified whenever the value of theObservableValuechanges.If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed. - Specified by:
- removeListenerin interface- ObservableValue<K>
- Parameters:
- listener- The listener to remove
- See Also:
- ObservableValue.addListener(ChangeListener)
 
 - 
addListenerpublic void addListener(MapChangeListener<? super K,? super V> listener) Description copied from interface:ObservableMapAdd a listener to this observable map.- Specified by:
- addListenerin interface- ObservableMap<K,V>
- Parameters:
- listener- the listener for listening to the list changes
 
 - 
removeListenerpublic void removeListener(MapChangeListener<? super K,? super V> listener) Description copied from interface:ObservableMapTries to removed a listener from this observable map. If the listener is not attached to this map, nothing happens.- Specified by:
- removeListenerin interface- ObservableMap<K,V>
- Parameters:
- listener- a listener to remove
 
 - 
bindprotected final void bind(Observable... dependencies) Start observing the dependencies for changes. If the value of one of the dependencies changes, the binding is marked as invalid.- Parameters:
- dependencies- the dependencies to observe
 
 - 
unbindprotected final void unbind(Observable... dependencies) Stop observing the dependencies for changes.- Parameters:
- dependencies- the dependencies to stop observing
 
 - 
disposepublic void dispose() A default implementation ofdispose()that is empty.
 - 
getDependenciespublic ObservableList<?> getDependencies() A default implementation ofgetDependencies()that returns an emptyObservableList.- Specified by:
- getDependenciesin interface- Binding<K>
- Returns:
- an empty ObservableList
 
 - 
getpublic final ObservableMap<K,V> get() Returns the result ofcomputeValue(). The methodcomputeValue()is only called if the binding is invalid. The result is cached and returned if the binding did not become invalid since the last call ofget().- Specified by:
- getin interface- ObservableObjectValue<K>
- Returns:
- the current value
 
 - 
onInvalidatingprotected void onInvalidating() The method onInvalidating() can be overridden by extending classes to react, if this binding becomes invalid. The default implementation is empty.
 - 
invalidatepublic final void invalidate() Description copied from interface:BindingMark a binding as invalid. This forces the recalculation of the value of theBindingnext time it is request.- Specified by:
- invalidatein interface- Binding<K>
 
 - 
isValidpublic final boolean isValid() Description copied from interface:BindingChecks if a binding is valid.
 - 
computeValueprotected abstract ObservableMap<K,V> computeValue() Calculates the current value of this binding.Classes extending MapBindinghave to provide an implementation ofcomputeValue.- Returns:
- the current value
 
 
- 
 
-