E
- the type of the List
elementpublic abstract class ListBinding<E> extends ListExpression<E> implements Binding<<any>>
Binding
of an javafx.collections.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.
Binding
,
ListExpression
Type | Property and 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.
|
Modifier and Type | Class and Description |
---|---|
private class |
ListBinding.EmptyProperty |
private class |
ListBinding.SizeProperty |
Modifier and Type | Field and Description |
---|---|
private ListBinding.EmptyProperty |
empty0 |
private <any> |
helper |
private <any> |
listChangeListener |
private BindingHelperObserver |
observer |
private ListBinding.SizeProperty |
size0 |
private boolean |
valid |
private <any> |
value |
Constructor and Description |
---|
ListBinding() |
Modifier and Type | Method and Description |
---|---|
void |
addListener(<any> listener) |
void |
addListener(<any> listener) |
void |
addListener(InvalidationListener listener) |
protected void |
bind(Observable... dependencies)
Start observing the dependencies for changes.
|
protected abstract <any> |
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. |
<any> |
get()
Returns the result of
computeValue() . |
<any> |
getDependencies()
A default implementation of
getDependencies() that returns an
empty javafx.collections.ObservableList . |
void |
invalidate()
Mark a binding as invalid.
|
private void |
invalidateProperties() |
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(<any> listener) |
void |
removeListener(<any> listener) |
void |
removeListener(InvalidationListener listener) |
ReadOnlyIntegerProperty |
sizeProperty()
An integer property that represents the size of the list.
|
java.lang.String |
toString()
Returns a string representation of this
ListBinding object. |
protected void |
unbind(Observable... dependencies)
Stop observing the dependencies for changes.
|
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
public ReadOnlyIntegerProperty sizeProperty
sizeProperty
in class ListExpression<E>
public ReadOnlyBooleanProperty emptyProperty
emptyProperty
in class ListExpression<E>
ReadOnlyBooleanProperty
private final <any> listChangeListener
private <any> value
private boolean valid
private BindingHelperObserver observer
private <any> helper
private ListBinding.SizeProperty size0
private ListBinding.EmptyProperty empty0
public ReadOnlyIntegerProperty sizeProperty()
ListExpression
sizeProperty
in class ListExpression<E>
public ReadOnlyBooleanProperty emptyProperty()
ListExpression
true
, if the list is empty.emptyProperty
in class ListExpression<E>
ReadOnlyBooleanProperty
public void addListener(InvalidationListener listener)
public void removeListener(InvalidationListener listener)
public void addListener(<any> listener)
public void removeListener(<any> listener)
public void addListener(<any> listener)
public void removeListener(<any> listener)
protected final void bind(Observable... dependencies)
dependencies
- the dependencies to observeprotected final void unbind(Observable... dependencies)
dependencies
- the dependencies to stop observingpublic void dispose()
dispose()
that is empty.public <any> getDependencies()
getDependencies()
that returns an
empty javafx.collections.ObservableList
.getDependencies
in interface Binding<<any>>
ObservableList
public final <any> 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()
.protected void onInvalidating()
private void invalidateProperties()
public final void invalidate()
Binding
Binding
next time it is request.invalidate
in interface Binding<<any>>
public final boolean isValid()
Binding
protected abstract <any> computeValue()
Classes extending ListBinding
have to provide an implementation
of computeValue
.
public java.lang.String toString()
ListBinding
object.toString
in class java.lang.Object
ListBinding
object.