Package mondrian.calc.impl
Class AbstractTupleList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<List<Member>>
-
- mondrian.calc.impl.AbstractTupleList
-
- All Implemented Interfaces:
Cloneable
,Iterable<List<Member>>
,Collection<List<Member>>
,List<List<Member>>
,RandomAccess
,TupleIterable
,TupleList
- Direct Known Subclasses:
ArrayTupleList
,DelegatingTupleList
,ListTupleList
public abstract class AbstractTupleList extends AbstractList<List<Member>> implements RandomAccess, Cloneable, TupleList
Abstract implementation ofTupleList
.- Author:
- jhyde
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractTupleList.AbstractTupleListIterator
Implementation ofTupleIterator
forArrayTupleList
.-
Nested classes/interfaces inherited from interface mondrian.calc.TupleList
TupleList.PositionCallback
-
-
Field Summary
Fields Modifier and Type Field Description protected int
arity
protected boolean
mutable
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description AbstractTupleList(int arity)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addCurrent(TupleCursor tupleIter)
TupleList
fix()
Fixes the tuples of this list, so that their contents will not change even if elements of the list are reordered or removed.Member
get(int slice, int index)
Returns a particular column of a particular row.int
getArity()
Returns the number of members in each tuple.Iterator<List<Member>>
iterator()
abstract TupleList
subList(int fromIndex, int toIndex)
TupleCursor
tupleCursor()
Creates aTupleCursor
over this list.TupleIterator
tupleIterator()
Creates an iterator over the contents of this iterable.protected abstract TupleIterator
tupleIteratorInternal()
-
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, get, hashCode, indexOf, lastIndexOf, listIterator, listIterator, remove, removeRange, set
-
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, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, toArray, toArray
-
-
-
-
Method Detail
-
getArity
public int getArity()
Description copied from interface:TupleIterable
Returns the number of members in each tuple.- Specified by:
getArity
in interfaceTupleIterable
- Returns:
- The number of members in each tuple
-
tupleIteratorInternal
protected abstract TupleIterator tupleIteratorInternal()
-
subList
public abstract TupleList subList(int fromIndex, int toIndex)
-
fix
public TupleList fix()
Description copied from interface:TupleList
Fixes the tuples of this list, so that their contents will not change even if elements of the list are reordered or removed. Returns this list if possible.
-
tupleIterator
public final TupleIterator tupleIterator()
Description copied from interface:TupleIterable
Creates an iterator over the contents of this iterable.Always has the same effect as calling
Iterable.iterator()
.- Specified by:
tupleIterator
in interfaceTupleIterable
- Returns:
- cursor over the tuples returned by this iterable
- See Also:
TupleIterable.tupleCursor()
-
tupleCursor
public TupleCursor tupleCursor()
Creates aTupleCursor
over this list.Any implementation of
TupleList
must implement all three methodsiterator()
,tupleIterator()
andtupleCursor
. The default implementation returns the same for all three, but a derived classes can override this method to create a more efficient implementation that implements cursor but not iterator.- Specified by:
tupleCursor
in interfaceTupleIterable
- Returns:
- A cursor over this list
-
addCurrent
public void addCurrent(TupleCursor tupleIter)
- Specified by:
addCurrent
in interfaceTupleList
-
get
public Member get(int slice, int index)
Description copied from interface:TupleList
Returns a particular column of a particular row.Note that
list.get(row, column)
is equivalent tolist.slice(column).get(row)
andlist.get(row).get(column)
but is more efficient for most implementations of TupleList.
-
-