Package uk.ac.starlink.ttools.jel
Class SequentialJELRowReader
- java.lang.Object
-
- gnu.jel.DVMap
-
- uk.ac.starlink.ttools.jel.JELRowReader
-
- uk.ac.starlink.ttools.jel.StarTableJELRowReader
-
- uk.ac.starlink.ttools.jel.SequentialJELRowReader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,uk.ac.starlink.table.RowData
,uk.ac.starlink.table.RowSequence
,uk.ac.starlink.util.Sequence
public class SequentialJELRowReader extends StarTableJELRowReader implements uk.ac.starlink.table.RowSequence
Implements JELRowReader for sequential access to a table. This class also implementsRowSequence
, and this object should be treated in the same way as a row sequence taken out on its table, that is iteration should proceed using the next and close methods.- Since:
- 8 Feb 2005
- Author:
- Mark Taylor (Starlink)
-
-
Field Summary
-
Fields inherited from class uk.ac.starlink.ttools.jel.StarTableJELRowReader
PARAM_PREFIX, UCD_PREFIX, UTYPE_PREFIX
-
Fields inherited from class uk.ac.starlink.ttools.jel.JELRowReader
COLUMN_ID_CHAR, NULL_QUERY_PREFIX, OBJECT_PREFIX
-
-
Constructor Summary
Constructors Constructor Description SequentialJELRowReader(uk.ac.starlink.table.StarTable table)
Constructs a new row reader for sequential access.SequentialJELRowReader(uk.ac.starlink.table.StarTable table, uk.ac.starlink.table.RowSplittable rsplit)
Constructs a new row reader for sequential access, based on a supplied row splittable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
java.lang.Object
getCell(int icol)
Returns the value for a given column in this reader's table at the current row.long
getCurrentRow()
If the current row is not known, an RuntimeException will be thrown.java.lang.Object[]
getRow()
boolean
next()
-
Methods inherited from class uk.ac.starlink.ttools.jel.StarTableJELRowReader
createDescribedValueConstant, getBooleanColumnValue, getByteColumnValue, getCharColumnValue, getColumnClass, getColumnIndexByName, getConstantByName, getDoubleColumnValue, getFloatColumnValue, getIntColumnValue, getLongColumnValue, getObjectColumnValue, getShortColumnValue, getSpecialByName, getTable, getUcdRegex, getUtypeRegex, isBlank, requiresRowIndex
-
Methods inherited from class uk.ac.starlink.ttools.jel.JELRowReader
evaluate, evaluateBoolean, evaluateDouble, foundNull, getBooleanArrayProperty, getBooleanProperty, getBooleanProperty, getBooleanValue, getByteArrayProperty, getByteProperty, getByteValue, getCharArrayProperty, getCharProperty, getCharValue, getColumnIndex, getDateArrayProperty, getDoubleArrayProperty, getDoubleProperty, getDoubleValue, getFloatArrayProperty, getFloatProperty, getFloatValue, getIntArrayProperty, getIntProperty, getIntValue, getLongArrayProperty, getLongProperty, getLongValue, getNumberProperty, getObjectArrayProperty, getObjectProperty, getShortArrayProperty, getShortProperty, getShortValue, getStringArrayProperty, getStringProperty, getTranslatedColumns, getTranslatedConstants, getTypeName, setFailOnNull, stripPrefix, translate
-
-
-
-
Constructor Detail
-
SequentialJELRowReader
public SequentialJELRowReader(uk.ac.starlink.table.StarTable table) throws java.io.IOException
Constructs a new row reader for sequential access. This constructor also takes out a row sequence on table.- Parameters:
table
- table to read- Throws:
java.io.IOException
-
SequentialJELRowReader
public SequentialJELRowReader(uk.ac.starlink.table.StarTable table, uk.ac.starlink.table.RowSplittable rsplit)
Constructs a new row reader for sequential access, based on a supplied row splittable.Note if the
RowSplittable.rowIndex()
method of the supplied RowSplittable returns null, thegetCurrentRow()
method of the object constructed here will throw an exception. Before using this reader to evaluate an expression, theStarTableJELRowReader.requiresRowIndex()
method should be called to determine if trouble lies ahead.- Parameters:
table
- table to readrsplit
- row splittable, must apply to the supplied table
-
-
Method Detail
-
getCell
public java.lang.Object getCell(int icol) throws java.io.IOException
Description copied from class:StarTableJELRowReader
Returns the value for a given column in this reader's table at the current row.- Specified by:
getCell
in interfaceuk.ac.starlink.table.RowData
- Specified by:
getCell
in interfaceuk.ac.starlink.table.RowSequence
- Specified by:
getCell
in classStarTableJELRowReader
- Parameters:
icol
- column index- Returns:
- contents of column icol at the current row
- Throws:
java.io.IOException
-
getRow
public java.lang.Object[] getRow() throws java.io.IOException
- Specified by:
getRow
in interfaceuk.ac.starlink.table.RowData
- Specified by:
getRow
in interfaceuk.ac.starlink.table.RowSequence
- Throws:
java.io.IOException
-
next
public boolean next() throws java.io.IOException
- Specified by:
next
in interfaceuk.ac.starlink.table.RowSequence
- Specified by:
next
in interfaceuk.ac.starlink.util.Sequence
- Throws:
java.io.IOException
-
getCurrentRow
public long getCurrentRow()
If the current row is not known, an RuntimeException will be thrown.- Specified by:
getCurrentRow
in classStarTableJELRowReader
- Returns:
- row index (first row is 0)
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfaceuk.ac.starlink.table.RowSequence
- Throws:
java.io.IOException
-
-