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
-
Constructor Summary
Constructors Constructor Description ModifiableObservableListBase() -
Method Summary
Modifier and Type Method Description voidadd(int index, E element)booleanaddAll(int index, Collection<? extends E> c)booleanaddAll(Collection<? extends E> c)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.abstract Eget(int index)Eremove(int index)booleanremove(Object o)booleanremoveAll(Collection<?> c)protected voidremoveRange(int fromIndex, int toIndex)booleanretainAll(Collection<?> c)Eset(int index, E element)booleansetAll(Collection<? extends E> col)Clears the ObservableList and adds all elements from the collection.abstract intsize()List<E>subList(int fromIndex, int toIndex)Methods inherited from class javafx.collections.ObservableListBase
addAll, addListener, addListener, beginChange, endChange, fireChange, hasListeners, nextAdd, nextPermutation, nextRemove, nextRemove, nextReplace, nextSet, nextUpdate, remove, removeAll, removeListener, removeListener, retainAll, setAllMethods inherited from class java.util.AbstractList
add, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIteratorMethods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, toArray, toArray, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.List
add, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, replaceAll, sort, spliterator, toArray, toArray
-
Constructor Details
-
ModifiableObservableListBase
public ModifiableObservableListBase()
-
-
Method Details
-
setAll
Description copied from interface:ObservableListClears the ObservableList and adds all elements from the collection.- Specified by:
setAllin interfaceObservableList<E>- Overrides:
setAllin classObservableListBase<E>- Parameters:
col- the collection with elements that will be added to this observableArrayList- Returns:
- true (as specified by Collection.add(E))
-
addAll
- Specified by:
addAllin interfaceCollection<E>- Specified by:
addAllin interfaceList<E>- Overrides:
addAllin classAbstractCollection<E>
-
addAll
-
removeRange
protected void removeRange(int fromIndex, int toIndex)- Overrides:
removeRangein classAbstractList<E>
-
removeAll
- Specified by:
removeAllin interfaceCollection<E>- Specified by:
removeAllin interfaceList<E>- Overrides:
removeAllin classAbstractCollection<E>
-
retainAll
- Specified by:
retainAllin interfaceCollection<E>- Specified by:
retainAllin interfaceList<E>- Overrides:
retainAllin classAbstractCollection<E>
-
add
-
set
-
remove
- Specified by:
removein interfaceCollection<E>- Specified by:
removein interfaceList<E>- Overrides:
removein classAbstractCollection<E>
-
remove
-
subList
-
get
-
size
public abstract int size()- Specified by:
sizein interfaceCollection<E>- Specified by:
sizein interfaceList<E>- Specified by:
sizein classAbstractCollection<E>
-
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
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())
-