java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
javafx.collections.ObservableListBase<E>
javafx.collections.ModifiableObservableListBase<E>
- Type Parameters:
E
- the type of the elements contained in the List
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,List<E>
,Observable
,ObservableList<E>
public abstract class ModifiableObservableListBase<E> extends ObservableListBase<E>
Abstract class that serves as a base class for
ObservableList
implementations that are modifiable.
To implement a modifiable ObservableList
class, you just need to implement the following set of methods:
and the notifications and built and fired automatically for you.
Example of a simple ObservableList
delegating to another List
would look like this:
public class ArrayObservableList<E> extends ModifiableObservableList<E> { private final List<E> delegate = new ArrayList<>(); public E get(int index) { return delegate.get(index); } public int size() { return delegate.size(); } protected void doAdd(int index, E element) { delegate.add(index, element); } protected E doSet(int index, E element) { return delegate.set(index, element); } protected E doRemove(int index) { return delegate.remove(index); }
- Since:
- JavaFX 8.0
- See Also:
ObservableListBase
-
Field Summary
Fields declared in class java.util.AbstractList
modCount
-
Constructor Summary
Constructors Constructor Description ModifiableObservableListBase()
Creates a defaultModifiableObservableListBase
. -
Method Summary
Modifier and Type Method Description protected abstract void
doAdd(int index, E element)
Adds theelement
to the List at the position ofindex
.protected abstract E
doRemove(int index)
Removes the element at position ofindex
.protected abstract E
doSet(int index, E element)
Sets theelement
in the List at the position ofindex
.Methods declared in class javafx.collections.ObservableListBase
beginChange, endChange, fireChange, hasListeners, nextAdd, nextPermutation, nextRemove, nextRemove, nextReplace, nextSet, nextUpdate
Methods declared in class java.util.AbstractList
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
Methods declared in class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString
Methods declared in class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods declared in interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods declared in interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray
Methods declared in interface javafx.beans.Observable
addListener, removeListener
Methods declared in interface javafx.collections.ObservableList
addAll, addListener, filtered, remove, removeAll, removeListener, retainAll, setAll, setAll, sorted, sorted
-
Constructor Details
-
ModifiableObservableListBase
public ModifiableObservableListBase()Creates a defaultModifiableObservableListBase
.
-
-
Method Details
-
doAdd
Adds theelement
to the List at the position ofindex
.For the description of possible exceptions, please refer to the documentation of
AbstractList.add(java.lang.Object)
method.- Parameters:
index
- the position where to add the elementelement
- the element that will be added- Throws:
ClassCastException
- if the type of the specified element is incompatible with this listNullPointerException
- if the specified arguments contain one or more null elementsIllegalArgumentException
- if some property of this element prevents it from being added to this listIndexOutOfBoundsException
- if the index is out of range(index < 0 || index > size())
-
doSet
Sets theelement
in the List at the position ofindex
.For the description of possible exceptions, please refer to the documentation of
List.set(int, java.lang.Object)
method.- Parameters:
index
- the position where to set the elementelement
- the element that will be set at the specified position- Returns:
- the old element at the specified position
- Throws:
ClassCastException
- if the type of the specified element is incompatible with this listNullPointerException
- if the specified arguments contain one or more null elementsIllegalArgumentException
- if some property of this element prevents it from being added to this listIndexOutOfBoundsException
- if the index is out of range(index < 0 || index >= size())
-
doRemove
Removes the element at position ofindex
.- Parameters:
index
- the index of the removed element- Returns:
- the removed element
- Throws:
IndexOutOfBoundsException
- if the index is out of range(index < 0 || index >= size())
-