Class AbstractTupleList.AbstractTupleListIterator
- java.lang.Object
-
- mondrian.calc.impl.AbstractTupleList.AbstractTupleListIterator
-
- All Implemented Interfaces:
java.util.Iterator<java.util.List<Member>>
,TupleCursor
,TupleIterator
- Enclosing class:
- AbstractTupleList
protected class AbstractTupleList.AbstractTupleListIterator extends java.lang.Object implements TupleIterator
Implementation ofTupleIterator
forArrayTupleList
. Based upon AbstractList.Itr, but with concurrent modification checking removed.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTupleListIterator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<Member>
current()
Returns the tuple that this cursor is positioned on.void
currentToArray(Member[] members, int offset)
Writes the member(s) of the next tuple to a given offset in an array.boolean
forward()
Moves the iterator forward one position.int
getArity()
Returns the number of members in each tuple.boolean
hasNext()
Member
member(int column)
java.util.List<Member>
next()
void
remove()
void
setContext(Evaluator evaluator)
-
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<java.util.List<Member>>
-
next
public java.util.List<Member> next()
- Specified by:
next
in interfacejava.util.Iterator<java.util.List<Member>>
-
forward
public boolean forward()
Description copied from interface:TupleCursor
Moves the iterator forward one position.Returns false only when end of data has been reached.
Similar to calling the
Iterator
methodsIterator.hasNext()
followed byIterator.next()
but does not construct an object, and is therefore cheaper.If you want to use an Iterator, see
TupleIterator
.- Specified by:
forward
in interfaceTupleCursor
- Returns:
- Whether was able to move forward a position
-
current
public java.util.List<Member> current()
Description copied from interface:TupleCursor
Returns the tuple that this cursor is positioned on.This method never returns null, and may safely be called multiple times (or not all) for each position in the iteration.
Invalid to call this method when the cursor is has not been positioned, for example, if
TupleCursor.forward()
has not been called or if the most recent call toforward
returnedfalse
.- Specified by:
current
in interfaceTupleCursor
- Returns:
- Current tuple
-
currentToArray
public void currentToArray(Member[] members, int offset)
Description copied from interface:TupleCursor
Writes the member(s) of the next tuple to a given offset in an array.This method saves the overhead of a memory allocation when the resulting tuple will be written immediately to an array. The effect of
currentToArray(members, 0)
is the same as callingcurrent().toArray(members)
.Before calling this method, you must position the iterator at a valid position. Typically you would call hasNext followed by next; or forward.
- Specified by:
currentToArray
in interfaceTupleCursor
- Parameters:
members
- Membersoffset
- Offset in the array to write to
-
getArity
public int getArity()
Description copied from interface:TupleCursor
Returns the number of members in each tuple.- Specified by:
getArity
in interfaceTupleCursor
- Returns:
- The number of members in each tuple
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<java.util.List<Member>>
-
setContext
public void setContext(Evaluator evaluator)
- Specified by:
setContext
in interfaceTupleCursor
-
member
public Member member(int column)
- Specified by:
member
in interfaceTupleCursor
-
-