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 voiddoAdd(int index, E element)Adds theelementto the List at the position ofindex.protected abstract EdoRemove(int index)Removes the element at position ofindex.protected abstract EdoSet(int index, E element)Sets theelementin the List at the position ofindex.Methods declared in class javafx.collections.ObservableListBase
beginChange, endChange, fireChange, hasListeners, nextAdd, nextPermutation, nextRemove, nextRemove, nextReplace, nextSet, nextUpdateMethods declared in class java.util.AbstractList
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subListMethods declared in class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toStringMethods declared in class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods declared in interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods 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, toArrayMethods declared in interface javafx.beans.Observable
addListener, removeListenerMethods 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 theelementto 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 theelementin 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())
-