org.axiondb.engine.rowiterators
Class EmptyRowIterator

java.lang.Object
  extended by org.axiondb.engine.rowiterators.EmptyRowIterator
All Implemented Interfaces:
RowIterator

public final class EmptyRowIterator
extends java.lang.Object
implements RowIterator

A RowIteratorthat contains no Rows.

Version:
$Revision: 1.11 $ $Date: 2005/04/22 02:28:53 $

Field Summary
static RowIterator INSTANCE
           
 
Constructor Summary
EmptyRowIterator()
           
 
Method Summary
 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()
          Returns the first Rowin the list, positioning the cursor to just before the first Rowin the list.
 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 isEmpty()
          Returns true if there are no rows to report with this iterator.
 Row last()
          Returns the last Rowin the list, positioning the cursor to just after the last Rowin the list.
 Row next()
          Returns the next Rowin the list, or throws NoSuchElementExceptionif no next Row exists.
 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()
          Returns the previous Rowin the list, or throws NoSuchElementExceptionif no next Row exists.
 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 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.
 int size()
          Retunrs the current size of the underlaying row collection
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INSTANCE

public static RowIterator INSTANCE
Constructor Detail

EmptyRowIterator

public EmptyRowIterator()
Method Detail

add

public void add(Row row)
Description copied from interface: RowIterator
Add a Rowat the current position in my underlying collection, or throw UnsupportedOperationException. (Optional operation.)

Specified by:
add in interface RowIterator

current

public Row current()
Description copied from interface: RowIterator
Returns the last Rowreturned by me (by RowIterator.next(),RowIterator.previous(), RowIterator.first(),RowIterator.last(), etc.).

Specified by:
current in interface RowIterator

currentIndex

public int currentIndex()
Description copied from interface: RowIterator
Returns the index of the RowIterator.current()row, if any.

Specified by:
currentIndex in interface RowIterator

first

public Row first()
Description copied from interface: RowIterator
Returns the first Rowin 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.)

Specified by:
first in interface RowIterator

hasCurrent

public boolean hasCurrent()
Description copied from interface: RowIterator
Returns true if I have a current Row. (In other words, returns true iff RowIterator.current()would return a Rowrather than throwing an exception.)

Specified by:
hasCurrent in interface RowIterator

hasNext

public boolean hasNext()
Description copied from interface: RowIterator
Returns true 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.)

Specified by:
hasNext in interface RowIterator

hasPrevious

public boolean hasPrevious()
Description copied from interface: RowIterator
Returns true 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.)

Specified by:
hasPrevious in interface RowIterator

isEmpty

public boolean isEmpty()
Description copied from interface: RowIterator
Returns true if there are no rows to report with this iterator.

Specified by:
isEmpty in interface RowIterator

last

public Row last()
Description copied from interface: RowIterator
Returns the last Rowin 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.)

Specified by:
last in interface RowIterator

next

public Row next()
Description copied from interface: RowIterator
Returns the next Rowin the list, or throws NoSuchElementExceptionif no next Row exists.

Specified by:
next in interface RowIterator

next

public int next(int count)
         throws AxionException
Description copied from interface: RowIterator
Sets the current iterator position to currentIndex() + count; this will not set the current row, peekPrevious() may be used to return the current row. This will provide random access e.g one can postion the cursor before the desired row and then call next().

Specified by:
next in interface RowIterator
Throws:
AxionException

nextIndex

public int nextIndex()
Description copied from interface: RowIterator
Returns the index of the RowIterator.next()row, if any, or the number of elements is the iterator if we've reached the end.

Specified by:
nextIndex in interface RowIterator

peekNext

public Row peekNext()
Description copied from interface: RowIterator
Return the value that would be returned by a call to RowIterator.next(), if any, but don't update my position.

Specified by:
peekNext in interface RowIterator

peekPrevious

public Row peekPrevious()
Description copied from interface: RowIterator
Return the value that would be returned by a call to RowIterator.previous(), if any, but don't update my position.

Specified by:
peekPrevious in interface RowIterator

previous

public Row previous()
Description copied from interface: RowIterator
Returns the previous Rowin the list, or throws NoSuchElementExceptionif no next Row exists.

Specified by:
previous in interface RowIterator

previous

public int previous(int count)
             throws AxionException
Description copied from interface: RowIterator
Sets the current iterator position to currentIndex() - count; this will not set the current row, peekNext() may be used to return the current row. This will provide random access e.g one can postion the cursor after the desired row and then call previous().

Specified by:
previous in interface RowIterator
Throws:
AxionException

previousIndex

public int previousIndex()
Description copied from interface: RowIterator
Returns the index of the RowIterator.previous()row, if any, or -1 if we're add the beginning of the list.

Specified by:
previousIndex in interface RowIterator

remove

public void remove()
Description copied from interface: RowIterator
Set the Rowat the current position in my underlying collection, or throw UnsupportedOperationException. (Optional operation.)

Specified by:
remove in interface RowIterator

reset

public void reset()
Description copied from interface: RowIterator
Re-initialize this RowIterator to its initial state (positioned just before the first Rowin the list).

Specified by:
reset in interface RowIterator

set

public void set(Row row)
Description copied from interface: RowIterator
Set the Rowat the current position in my underlying collection, or throw UnsupportedOperationException. (Optional operation.)

Specified by:
set in interface RowIterator

size

public int size()
         throws AxionException
Description copied from interface: RowIterator
Retunrs the current size of the underlaying row collection

Specified by:
size in interface RowIterator
Throws:
AxionException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object