org.eigenbase.runtime
Class ResultSetTupleIter
java.lang.Object
org.eigenbase.runtime.AbstractTupleIter
org.eigenbase.runtime.ResultSetTupleIter
- All Implemented Interfaces:
- TupleIter, ClosableAllocation
public class ResultSetTupleIter
- extends AbstractTupleIter
A ResultSetTupleIter
is an adapter which converts a ResultSet
to a TupleIter
.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
resultSet
protected ResultSet resultSet
row
private Object row
endOfStream
private boolean endOfStream
ResultSetTupleIter
public ResultSetTupleIter(ResultSet resultSet)
fetchNext
public Object fetchNext()
- Description copied from interface:
TupleIter
- Returns the next element in the iteration. If there is no next value, it
returns a value from the
TupleIter.NoDataReason
enumeration indicating why
no data was returned.
If this method returns TupleIter.NoDataReason.END_OF_DATA
, no further
data will be returned by this iterator unless TupleIter.restart()
is called.
If this method returns TupleIter.NoDataReason.UNDERFLOW
, no data is
currently available, but may be come available in the future. It is
possible for consecutive calls to return UNDERFLOW and then END_OF_DATA.
The object returned by this method may be re-used for each subsequent
call to fetchNext()
. In other words, callers must either
make certain that the returned value is no longer needed or is copied
before any subsequent calls to fetchNext()
.
- Returns:
- the next element in the iteration, or an instance of
TupleIter.NoDataReason
.
restart
public void restart()
- Description copied from interface:
TupleIter
- Restarts this iterator, so that a subsequent call to
TupleIter.fetchNext()
returns the first element in the collection being
iterated.
- Specified by:
restart
in interface TupleIter
- Overrides:
restart
in class AbstractTupleIter
closeAllocation
public void closeAllocation()
- Description copied from interface:
ClosableAllocation
- Closes this object.
makeRow
protected Object makeRow()
throws SQLException
- Creates an object representing the current row of the result set. The
default implementation of this method returns a
Row
, but derived
classes may override this.
- Throws:
SQLException
moveToNext
private void moveToNext()