public class ChangingIndexedRowIterator extends java.lang.Object implements MutableIndexedRowIterator
DelegatingRowIteratorthat is wraps a RowIteratorfrom
some Index, and that can be resetto recreate the iterator for
a new bound value.| Constructor and Description |
|---|
ChangingIndexedRowIterator(Index index,
Table table,
Function fn) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(Row row)
Add a
Rowat the current position in my underlying collection, or throw
UnsupportedOperationException. |
Row |
current()
Returns the last
Rowreturned by me (by RowIterator.next(),RowIterator.previous(),
RowIterator.first(),RowIterator.last(), etc.). |
int |
currentIndex()
Returns the index of the
RowIterator.current()row, if any. |
Row |
first()
|
boolean |
hasCurrent()
Returns
true if I have a current Row. |
boolean |
hasNext()
Returns
true if I have more Rows when traversing the list
in the forward direction. |
boolean |
hasPrevious()
Returns
true if I have more Rows when traversing the list
in the reverse direction. |
boolean |
indexSet() |
boolean |
isEmpty()
Returns
true if there are no rows to report with this iterator. |
Row |
last()
|
Row |
next()
|
int |
next(int count)
Sets the current iterator position to currentIndex() + count; this will not set the
current row, peekPrevious() may be used to return the current row.
|
int |
nextIndex()
Returns the index of the
RowIterator.next()row, if any, or the number of elements is
the iterator if we've reached the end. |
Row |
peekNext()
Return the value that would be returned by a call to
RowIterator.next(), if any, but
don't update my position. |
Row |
peekPrevious()
Return the value that would be returned by a call to
RowIterator.previous(), if any,
but don't update my position. |
Row |
previous()
|
int |
previous(int count)
Sets the current iterator position to currentIndex() - count; this will not set the
current row, peekNext() may be used to return the current row.
|
int |
previousIndex()
Returns the index of the
RowIterator.previous()row, if any, or -1 if we're add the
beginning of the list. |
void |
remove()
Set the
Rowat the current position in my underlying collection, or throw
UnsupportedOperationException. |
void |
removeIndexKey() |
void |
reset()
Re-initialize this
RowIterator to its initial state (positioned just
before the first Rowin the list). |
void |
set(Row row)
Set the
Rowat the current position in my underlying collection, or throw
UnsupportedOperationException. |
void |
setIndexKey(java.lang.Object value) |
int |
size()
Retunrs the current size of the underlaying row collection
|
java.lang.String |
toString() |
public ChangingIndexedRowIterator(Index index, Table table, Function fn) throws AxionException
AxionExceptionpublic void add(Row row) throws AxionException
RowIteratorRowat the current position in my underlying collection, or throw
UnsupportedOperationException. (Optional operation.)add in interface RowIteratorAxionExceptionpublic Row current()
RowIteratorRowreturned by me (by RowIterator.next(),RowIterator.previous(),
RowIterator.first(),RowIterator.last(), etc.).current in interface RowIteratorpublic int currentIndex()
RowIteratorRowIterator.current()row, if any.currentIndex in interface RowIteratorpublic Row first() throws AxionException
RowIteratorRowin the list, positioning the cursor to just before
the first Rowin the list. (In other words, after first is
called both RowIterator.next()and RowIterator.current()will return the first row in the
list.)first in interface RowIteratorAxionException - when a problem occurs accessing the Rowpublic boolean hasCurrent()
RowIteratortrue if I have a current Row. (In other words,
returns true iff RowIterator.current()would return a Rowrather
than throwing an exception.)hasCurrent in interface RowIteratorpublic boolean hasNext()
RowIteratortrue if I have more Rows when traversing the list
in the forward direction. (In other words, returns true iff
RowIterator.next()would return a Rowrather than throwing an exception.)hasNext in interface RowIteratorpublic boolean hasPrevious()
RowIteratortrue if I have more Rows when traversing the list
in the reverse direction. (In other words, returns true iff
RowIterator.previous()would return a Rowrather than throwing an exception.)hasPrevious in interface RowIteratorpublic final boolean indexSet()
indexSet in interface MutableIndexedRowIteratorpublic boolean isEmpty()
RowIteratortrue if there are no rows to report with this iterator.isEmpty in interface RowIteratorpublic Row last() throws AxionException
RowIteratorRowin the list, positioning the cursor to just after the
last Rowin the list. (In other words, after last is called
both RowIterator.previous()and RowIterator.current()will return the last row in the list.)last in interface RowIteratorAxionException - when a problem occurs accessing the Rowpublic Row next() throws AxionException
RowIteratornext in interface RowIteratorAxionException - when a problem occurs accessing the Rowpublic int next(int count)
throws AxionException
RowIteratornext in interface RowIteratorAxionExceptionpublic int nextIndex()
RowIteratorRowIterator.next()row, if any, or the number of elements is
the iterator if we've reached the end.nextIndex in interface RowIteratorpublic Row peekNext() throws AxionException
RowIteratorRowIterator.next(), if any, but
don't update my position.peekNext in interface RowIteratorAxionException - when a problem occurs accessing the Rowpublic Row peekPrevious() throws AxionException
RowIteratorRowIterator.previous(), if any,
but don't update my position.peekPrevious in interface RowIteratorAxionException - when a problem occurs accessing the Rowpublic Row previous() throws AxionException
RowIteratorprevious in interface RowIteratorAxionException - when a problem occurs accessing the Rowpublic int previous(int count)
throws AxionException
RowIteratorprevious in interface RowIteratorAxionExceptionpublic int previousIndex()
RowIteratorRowIterator.previous()row, if any, or -1 if we're add the
beginning of the list.previousIndex in interface RowIteratorpublic void remove()
throws AxionException
RowIteratorRowat the current position in my underlying collection, or throw
UnsupportedOperationException. (Optional operation.)remove in interface RowIteratorAxionExceptionpublic void removeIndexKey()
throws AxionException
removeIndexKey in interface MutableIndexedRowIteratorAxionExceptionpublic void reset()
throws AxionException
RowIteratorRowIterator to its initial state (positioned just
before the first Rowin the list).reset in interface RowIteratorAxionExceptionpublic void set(Row row) throws AxionException
RowIteratorRowat the current position in my underlying collection, or throw
UnsupportedOperationException. (Optional operation.)set in interface RowIteratorAxionExceptionpublic void setIndexKey(java.lang.Object value)
throws AxionException
setIndexKey in interface MutableIndexedRowIteratorAxionExceptionpublic int size()
throws AxionException
RowIteratorsize in interface RowIteratorAxionExceptionpublic java.lang.String toString()
toString in class java.lang.Object