Class SetBinding<E>
- Type Parameters:
-
E- the type of theSetelements
- All Implemented Interfaces:
-
Iterable<E>,Collection<E>,Set<E>,Binding<ObservableSet<E>>,Observable,ObservableObjectValue<ObservableSet<E>>,ObservableSetValue<E>,ObservableValue<ObservableSet<E>>,ObservableSet<E>
public abstract class SetBinding<E> extends SetExpression<E> implements Binding<ObservableSet<E>>
Binding of an ObservableSet. SetBinding provides a simple invalidation-scheme. An extending class can register dependencies by calling bind(Observable...). If one of the registered dependencies becomes invalid, this SetBinding is marked as invalid. With unbind(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 when get() is called for an invalid binding.
See DoubleBinding for an example how this base class can be extended.
- Since:
- JavaFX 2.1
- See Also:
Property Summary
| Type | Property | Description |
|---|---|---|
ReadOnlyBooleanProperty |
empty |
A boolean property that is true, if the set is empty. |
ReadOnlyIntegerProperty |
size |
An integer property that represents the size of the set. |
Constructor Summary
| Constructor | Description |
|---|---|
SetBinding() |
Creates a default SetBinding. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
addListener |
Adds an InvalidationListener which will be notified whenever the Observable becomes invalid. |
void |
addListener |
Adds a ChangeListener which will be notified whenever the value of the ObservableValue changes. |
void |
addListener |
Add a listener to this observable set. |
protected final void |
bind |
Start observing the dependencies for changes. |
protected abstract ObservableSet<E> |
computeValue() |
Calculates the current value of this binding. |
void |
dispose() |
A default implementation of dispose() that is empty. |
ReadOnlyBooleanProperty |
emptyProperty() |
A boolean property that is true, if the set is empty. |
final ObservableSet<E> |
get() |
Returns the result of computeValue(). |
ObservableList<?> |
getDependencies() |
A default implementation of getDependencies() that returns an empty ObservableList. |
final void |
invalidate() |
Mark a binding as invalid. |
final boolean |
isValid() |
Checks if a binding is valid. |
protected void |
onInvalidating() |
The method onInvalidating() can be overridden by extending classes to react, if this binding becomes invalid. |
void |
removeListener |
Removes the given listener from the list of listeners, that are notified whenever the value of the Observable becomes invalid. |
void |
removeListener |
Removes the given listener from the list of listeners that are notified whenever the value of the ObservableValue changes. |
void |
removeListener |
Tries to removed a listener from this observable set. |
ReadOnlyIntegerProperty |
sizeProperty() |
An integer property that represents the size of the set. |
String |
toString() |
Returns a string representation of this SetBinding object. |
protected final void |
unbind |
Stop observing the dependencies for changes. |
Methods declared in 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 declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods declared in interface javafx.beans.Observable
subscribe
Methods declared in interface javafx.beans.value.ObservableValue
flatMap, getValue, map, orElse, subscribe, subscribe, when
Methods declared in interface java.util.Set
equals, hashCode, spliterator
Property Details
size
public ReadOnlyIntegerProperty sizeProperty
- Specified by:
-
sizePropertyin classSetExpression<E> - Returns:
- the property
- See Also:
empty
public ReadOnlyBooleanProperty emptyProperty
- Specified by:
-
emptyPropertyin classSetExpression<E> - Returns:
- the
ReadOnlyBooleanProperty - See Also:
Constructor Details
SetBinding
public SetBinding()
SetBinding.Method Details
sizeProperty
public ReadOnlyIntegerProperty sizeProperty()
SetExpression- Specified by:
-
sizePropertyin classSetExpression<E> - Returns:
- the
sizeproperty
emptyProperty
public ReadOnlyBooleanProperty emptyProperty()
SetExpressiontrue, if the set is empty.- Specified by:
-
emptyPropertyin classSetExpression<E> - Returns:
- the
emptyproperty
addListener
public void addListener(InvalidationListener listener)
ObservableInvalidationListener which will be notified whenever the Observable becomes 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 InvalidationListener instance may be safely registered for different Observables.
The Observable stores 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 calling removeListener after use or to use an instance of WeakInvalidationListener avoid this situation.
- Specified by:
-
addListenerin interfaceObservable - Parameters:
-
listener- The listener to register - See Also:
removeListener
public void removeListener(InvalidationListener listener)
ObservableObservable becomes 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 interfaceObservable - Parameters:
-
listener- The listener to remove - See Also:
addListener
public void addListener(ChangeListener<? super ObservableSet<E>> listener)
ObservableValueChangeListener which will be notified whenever the value of the ObservableValue changes. 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 ChangeListener instance may be safely registered for different ObservableValues.
The ObservableValue stores 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 calling removeListener after use or to use an instance of WeakChangeListener avoid this situation.
- Specified by:
-
addListenerin interfaceObservableValue<E> - Parameters:
-
listener- The listener to register - See Also:
removeListener
public void removeListener(ChangeListener<? super ObservableSet<E>> listener)
ObservableValueObservableValue changes. 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 interfaceObservableValue<E> - Parameters:
-
listener- The listener to remove - See Also:
addListener
public void addListener(SetChangeListener<? super E> listener)
ObservableSet- Specified by:
-
addListenerin interfaceObservableSet<E> - Parameters:
-
listener- the listener for listening to the set changes
removeListener
public void removeListener(SetChangeListener<? super E> listener)
ObservableSet- Specified by:
-
removeListenerin interfaceObservableSet<E> - Parameters:
-
listener- a listener to remove
bind
protected final void bind(Observable... dependencies)
- Parameters:
-
dependencies- the dependencies to observe
unbind
protected final void unbind(Observable... dependencies)
- Parameters:
-
dependencies- the dependencies to stop observing
dispose
public void dispose()
dispose() that is empty.- Specified by:
-
disposein interfaceBinding<E>
getDependencies
public ObservableList<?> getDependencies()
getDependencies() that returns an empty ObservableList.- Specified by:
-
getDependenciesin interfaceBinding<E> - Returns:
- an empty
ObservableList
get
public final ObservableSet<E> get()
computeValue(). The method computeValue() 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 of get().- Specified by:
-
getin interfaceObservableObjectValue<E> - Returns:
- the current value
onInvalidating
protected void onInvalidating()
invalidate
public final void invalidate()
BindingBinding next time it is request.- Specified by:
-
invalidatein interfaceBinding<E>
isValid
public final boolean isValid()
Binding- Specified by:
-
isValidin interfaceBinding<E> - Returns:
-
trueif theBindingis valid,falseotherwise
computeValue
protected abstract ObservableSet<E> computeValue()
Classes extending SetBinding have to provide an implementation of computeValue.
- Returns:
- the current value
toString
public String toString()
SetBinding object.- Overrides:
-
toStringin classObject - Returns:
- a string representation of this
SetBindingobject.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.