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 inherited from class java.util.AbstractList
modCount
-
Constructor Summary
Constructors Constructor Description ModifiableObservableListBase()
Creates a defaultModifiableObservableListBase
. -
Method Summary
Modifier and Type Method Description void
add(int index, E element)
boolean
addAll(int index, Collection<? extends E> c)
boolean
addAll(Collection<? extends E> c)
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
.abstract E
get(int index)
E
remove(int index)
boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
protected void
removeRange(int fromIndex, int toIndex)
boolean
retainAll(Collection<?> c)
E
set(int index, E element)
boolean
setAll(Collection<? extends E> col)
Clears the ObservableList and adds all elements from the collection.abstract int
size()
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, setAll
Methods inherited from class java.util.AbstractList
add, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator
Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
add, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, replaceAll, sort, spliterator, toArray, toArray
Methods inherited from interface javafx.collections.ObservableList
filtered, sorted, sorted
-
Constructor Details
-
ModifiableObservableListBase
public ModifiableObservableListBase()Creates a defaultModifiableObservableListBase
.
-
-
Method Details
-
setAll
Description copied from interface:ObservableList
Clears the ObservableList and adds all elements from the collection.- Specified by:
setAll
in interfaceObservableList<E>
- Overrides:
setAll
in 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:
addAll
in interfaceCollection<E>
- Specified by:
addAll
in interfaceList<E>
- Overrides:
addAll
in classAbstractCollection<E>
-
addAll
-
removeRange
protected void removeRange(int fromIndex, int toIndex)- Overrides:
removeRange
in classAbstractList<E>
-
removeAll
- Specified by:
removeAll
in interfaceCollection<E>
- Specified by:
removeAll
in interfaceList<E>
- Overrides:
removeAll
in classAbstractCollection<E>
-
retainAll
- Specified by:
retainAll
in interfaceCollection<E>
- Specified by:
retainAll
in interfaceList<E>
- Overrides:
retainAll
in classAbstractCollection<E>
-
add
-
set
-
remove
- Specified by:
remove
in interfaceCollection<E>
- Specified by:
remove
in interfaceList<E>
- Overrides:
remove
in classAbstractCollection<E>
-
remove
-
subList
-
get
-
size
public abstract int size()- Specified by:
size
in interfaceCollection<E>
- Specified by:
size
in interfaceList<E>
- Specified by:
size
in classAbstractCollection<E>
-
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
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())
-