Class ListBinding<E>
- Type Parameters:
-
E- the type of theListelement
- All Implemented Interfaces:
-
Iterable<E>,Collection<E>,List<E>,SequencedCollection<E>,Binding<ObservableList<E>>,Observable,ObservableListValue<E>,ObservableObjectValue<ObservableList<E>>,ObservableValue<ObservableList<E>>,ObservableList<E>
public abstract class ListBinding<E> extends ListExpression<E> implements Binding<ObservableList<E>>
Binding of an ObservableList. ListBinding provides a simple invalidation-scheme. An extending class can register dependencies by calling bind(Observable...). If one of the registered dependencies becomes invalid, this ListBinding 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 list is empty. |
ReadOnlyIntegerProperty |
size |
An integer property that represents the size of the list. |
Constructor Summary
| Constructor | Description |
|---|---|
ListBinding() |
Creates a default ListBinding. |
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 list. |
protected final void |
bind |
Start observing the dependencies for changes. |
protected abstract ObservableList |
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 list is empty. |
final ObservableList |
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 remove a listener from this observable list. |
ReadOnlyIntegerProperty |
sizeProperty() |
An integer property that represents the size of the list. |
String |
toString() |
Returns a string representation of this ListBinding object. |
protected final void |
unbind |
Stop observing the dependencies for changes. |
Methods declared in class javafx.beans.binding.ListExpression
add, add, addAll, addAll, addAll, asString, clear, contains, containsAll, get, getSize, getValue, indexOf, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, lastIndexOf, listExpression, listIterator, listIterator, remove, remove, remove, removeAll, removeAll, retainAll, retainAll, set, setAll, setAll, size, subList, toArray, toArray, valueAt, valueAt
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 java.util.List
addFirst, addLast, equals, getFirst, getLast, hashCode, removeFirst, removeLast, replaceAll, reversed, sort, spliterator
Methods declared in interface javafx.beans.Observable
subscribe
Methods declared in interface javafx.collections.ObservableList
filtered, sorted, sorted
Property Details
size
public ReadOnlyIntegerProperty sizeProperty
- Specified by:
-
sizePropertyin classListExpression<E> - Returns:
- the property
- See Also:
empty
public ReadOnlyBooleanProperty emptyProperty
- Specified by:
-
emptyPropertyin classListExpression<E> - Returns:
- the
ReadOnlyBooleanProperty - See Also:
Constructor Details
ListBinding
public ListBinding()
ListBinding.Method Details
sizeProperty
public ReadOnlyIntegerProperty sizeProperty()
ListExpression- Specified by:
-
sizePropertyin classListExpression<E> - Returns:
- the
sizeproperty
emptyProperty
public ReadOnlyBooleanProperty emptyProperty()
ListExpressiontrue, if the list is empty.- Specified by:
-
emptyPropertyin classListExpression<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 ObservableList<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 ObservableList<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(ListChangeListener<? super E> listener)
ObservableList- Specified by:
-
addListenerin interfaceObservableList<E> - Parameters:
-
listener- the listener for listening to the list changes
removeListener
public void removeListener(ListChangeListener<? super E> listener)
ObservableList- Specified by:
-
removeListenerin interfaceObservableList<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
getDependencies
public ObservableList<?> getDependencies()
getDependencies() that returns an empty ObservableList.- Specified by:
-
getDependenciesin interfaceBinding<E> - Returns:
- an empty
ObservableList
get
public final ObservableList<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
computeValue
protected abstract ObservableList<E> computeValue()
Classes extending ListBinding have to provide an implementation of computeValue.
- Returns:
- the current value
toString
© 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.