mondrian.calc.impl
Class AbstractEndToEndTupleList
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<List<Member>>
mondrian.calc.impl.AbstractTupleList
mondrian.calc.impl.AbstractEndToEndTupleList
- All Implemented Interfaces:
- Cloneable, Iterable<List<Member>>, Collection<List<Member>>, List<List<Member>>, RandomAccess, TupleIterable, TupleList
- Direct Known Subclasses:
- ArrayTupleList, ListTupleList
abstract class AbstractEndToEndTupleList
- extends AbstractTupleList
Abstract implementation of a TupleList that stores
tuples in end-to-end format.
For example, if the arity is 3, the tuples {(A1, B1, C1), (A1, B2, C2)}
will be stored as {A1, B1, C1, A2, B2, C2}. This is memory-efficient (only
one array, compared to 3 arrays or one array per tuple in other
representations), has good locality of reference, and typical operations
require few indirections.
Concrete subclasses can store the data in various backing lists.
- Author:
- jhyde
| Methods inherited from class java.util.AbstractList |
add, add, clear, equals, get, hashCode, indexOf, lastIndexOf, listIterator, listIterator, remove, removeRange |
| Methods inherited from interface java.util.List |
add, add, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, size, toArray, toArray |
AbstractEndToEndTupleList
AbstractEndToEndTupleList(int arity)
project
public TupleList project(int[] destIndices)
backingList
protected abstract List<Member> backingList()
set
public List<Member> set(int index,
List<Member> element)
- Specified by:
set in interface List<List<Member>>- Overrides:
set in class AbstractList<List<Member>>
addAll
public boolean addAll(Collection<? extends List<Member>> c)
- Specified by:
addAll in interface Collection<List<Member>>- Specified by:
addAll in interface List<List<Member>>- Overrides:
addAll in class AbstractCollection<List<Member>>
addAll
public boolean addAll(int i,
Collection<? extends List<Member>> c)
- Specified by:
addAll in interface List<List<Member>>- Overrides:
addAll in class AbstractList<List<Member>>
subList
public TupleList subList(int fromIndex,
int toIndex)
- Specified by:
subList in interface List<List<Member>>- Specified by:
subList in interface TupleList- Specified by:
subList in class AbstractTupleList
withPositionCallback
public TupleList withPositionCallback(TupleList.PositionCallback positionCallback)