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 classAbstractTupleList.AbstractTupleListIteratorImplementation ofTupleIteratorforArrayTupleList.-
Nested classes/interfaces inherited from interface mondrian.calc.TupleList
TupleList.PositionCallback
-
-
Field Summary
Fields Modifier and Type Field Description protected intarityprotected booleanmutable-
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 voidaddCurrent(TupleCursor tupleIter)TupleListfix()Fixes the tuples of this list, so that their contents will not change even if elements of the list are reordered or removed.Memberget(int slice, int index)Returns a particular column of a particular row.intgetArity()Returns the number of members in each tuple.Iterator<List<Member>>iterator()abstract TupleListsubList(int fromIndex, int toIndex)TupleCursortupleCursor()Creates aTupleCursorover this list.TupleIteratortupleIterator()Creates an iterator over the contents of this iterable.protected abstract TupleIteratortupleIteratorInternal()-
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:TupleIterableReturns the number of members in each tuple.- Specified by:
getArityin 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:TupleListFixes 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:TupleIterableCreates an iterator over the contents of this iterable.Always has the same effect as calling
Iterable.iterator().- Specified by:
tupleIteratorin interfaceTupleIterable- Returns:
- cursor over the tuples returned by this iterable
- See Also:
TupleIterable.tupleCursor()
-
tupleCursor
public TupleCursor tupleCursor()
Creates aTupleCursorover this list.Any implementation of
TupleListmust 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:
tupleCursorin interfaceTupleIterable- Returns:
- A cursor over this list
-
addCurrent
public void addCurrent(TupleCursor tupleIter)
- Specified by:
addCurrentin interfaceTupleList
-
get
public Member get(int slice, int index)
Description copied from interface:TupleListReturns 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.
-
-