public abstract class ReaderRowSequence extends Object implements RowSequence
RowSequence
suitable for subclassing
by classes which can read a row at a time and don't know when the
row stream will come to an end.
Concrete subclasses have to implement the readRow()
method.
They may also want to override close()
.Constructor and Description |
---|
ReaderRowSequence() |
Modifier and Type | Method and Description |
---|---|
void |
close()
The
ReaderRowSequence implementation does nothing. |
Object |
getCell(int icol)
Returns the contents of a cell in the current row.
|
Object[] |
getRow()
Returns the contents of the current table row, as an array
with the same number of elements as there are columns in this
table.
|
boolean |
next()
Attempts to advance the current row to the next one.
|
protected abstract Object[] |
readRow()
Acquires the next row of objects from the input stream.
|
protected abstract Object[] readRow() throws IOException
null
; note it should not throw an
exception to indicate this fact.
Otherwise it must return an array of objects representing
the row content for the next row.null
if there are no moreIOException
- if there is trouble reading the datapublic boolean next() throws IOException
RowSequence
true
is returned the attempt has been successful,
and if false
is returned there are no more rows in this
sequence.
Since the initial position of a RowSequence is before the first row,
this method must be called before current row data
can be accessed using the
RowSequence.getCell(int)
or RowSequence.getRow()
methods.next
in interface RowSequence
next
in interface Sequence
true
iff this sequence has been advanced to the
next rowIOException
- if there is some errorpublic Object getCell(int icol)
RowSequence
getColumnInfo(icol).getContentClass()
.
An unchecked exception will be thrown if there is no current
row (next
has not yet been called).getCell
in interface RowData
getCell
in interface RowSequence
icol
- column indexicol
in the current rowpublic Object[] getRow()
RowSequence
next
has not yet been called).getRow
in interface RowData
getRow
in interface RowSequence
irow
public void close() throws IOException
ReaderRowSequence
implementation does nothing.close
in interface Closeable
close
in interface AutoCloseable
close
in interface RowSequence
IOException
Copyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.