java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
javafx.collections.ObservableListBase<E>
javafx.collections.transformation.TransformationList<E,F>
- Type Parameters:
E
- the type parameter of this listF
- the upper bound of the type of the source list
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,List<E>
,Observable
,ObservableList<E>
- Direct Known Subclasses:
FilteredList
,SortedList
public abstract class TransformationList<E,F> extends ObservableListBase<E> implements ObservableList<E>
A base class for all lists that wrap another list in a way that changes
(transforms) the wrapped list's elements, order, size, or structure.
If the source list is observable, a listener is automatically added to it
and the events are delegated to
sourceChanged(javafx.collections.ListChangeListener.Change)
.- Since:
- JavaFX 8.0
-
Field Summary
Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransformationList(ObservableList<? extends F> source)
Creates a new Transformation list wrapped around the source list. -
Method Summary
Modifier and Type Method Description ObservableList<? extends F>
getSource()
The source list specified in the constructor of this transformation list.abstract int
getSourceIndex(int index)
Maps the index of this list's element to an index in the direct source list.int
getSourceIndexFor(ObservableList<?> list, int index)
Maps the index of this list's element to an index of the providedlist
.abstract int
getViewIndex(int index)
Maps the index of the direct source list's element to an index in this list.boolean
isInTransformationChain(ObservableList<?> list)
Checks whether the provided list is in the chain under thisTransformationList
.protected abstract void
sourceChanged(ListChangeListener.Change<? extends F> c)
Called when a change from the source is triggered.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, setAll
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, 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, 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 inherited from interface javafx.beans.Observable
addListener, removeListener
Methods inherited from interface javafx.collections.ObservableList
addAll, addListener, filtered, remove, removeAll, removeListener, retainAll, setAll, setAll, sorted, sorted
-
Constructor Details
-
TransformationList
Creates a new Transformation list wrapped around the source list.- Parameters:
source
- the wrapped list
-
-
Method Details
-
getSource
The source list specified in the constructor of this transformation list.- Returns:
- The List that is directly wrapped by this TransformationList
-
isInTransformationChain
Checks whether the provided list is in the chain under thisTransformationList
. This means the list is either the direct source as returned bygetSource()
or the direct source is aTransformationList
, and the list is in it's transformation chain.- Parameters:
list
- the list to check- Returns:
- true if the list is in the transformation chain as specified above.
-
sourceChanged
Called when a change from the source is triggered.- Parameters:
c
- the change
-
getSourceIndex
public abstract int getSourceIndex(int index)Maps the index of this list's element to an index in the direct source list.- Parameters:
index
- the index in this list- Returns:
- the index of the element's origin in the source list
- See Also:
getSource()
-
getSourceIndexFor
Maps the index of this list's element to an index of the providedlist
. Thelist
must be in the transformation chain.- Parameters:
list
- a list from the transformation chainindex
- the index of an element in this list- Returns:
- the index of the element's origin in the provided list
- See Also:
isInTransformationChain(javafx.collections.ObservableList)
-
getViewIndex
public abstract int getViewIndex(int index)Maps the index of the direct source list's element to an index in this list.- Parameters:
index
- the index in the source list- Returns:
- the index of the element in this list if it is contained in this list or negative value otherwise
- Since:
- 9
- See Also:
getSource()
,getSourceIndex(int)
-