public class JELSelectorTable extends WrapperStarTable
JELRowReader
baseTable
Constructor and Description |
---|
JELSelectorTable(StarTable baseTable,
String expr)
Construct a table given a base table and a selection expression.
|
Modifier and Type | Method and Description |
---|---|
Object |
getCell(long irow,
int icol)
Returns the contents of a given table cell.
|
Object[] |
getRow(long irow)
Returns the contents of a given table row.
|
RowAccess |
getRowAccess()
Returns an object which can provide random access to this
table's data, if random access is implemented.
|
long |
getRowCount()
Returns the number of rows in this table, if known.
|
RowSequence |
getRowSequence()
Returns an object which can iterate over all the rows in the table
sequentially.
|
RowSplittable |
getRowSplittable()
Returns an object which can iterate over all the rows in the table,
but which may also be requested to split recursively
for potentially parallel processing.
|
boolean |
isRandom()
Indicates whether random access is provided by this table.
|
checkedLongToInt, close, getBaseTable, getColumnAuxDataInfos, getColumnCount, getColumnInfo, getName, getParameterByName, getParameters, getURL, setName, setParameter, setURL, toString
public JELSelectorTable(StarTable baseTable, String expr) throws gnu.jel.CompilationException
baseTable
- base tableexpr
- boolean algebraic expression describing inclusion testgnu.jel.CompilationException
public boolean isRandom()
StarTable
true
may the StarTable.getRowAccess()
,
StarTable.getRow(long)
and StarTable.getCell(long, int)
methods be used.isRandom
in interface StarTable
isRandom
in class WrapperStarTable
true
if table random access methods are availablepublic long getRowCount()
StarTable
getRowCount
in interface StarTable
getRowCount
in class WrapperStarTable
public Object getCell(long irow, int icol)
StarTable
getColumnInfo(icol).getContentClass()
.
This method is safe for concurrent use from multiple threads,
but in general it is recommended to use a
RowAccess
instead.
getCell
in interface StarTable
getCell
in class WrapperStarTable
irow
- the index of the cell's rowicol
- the index of the cell's columnpublic Object[] getRow(long irow)
StarTable
getCell(irow,icol)
for all the columns icol
in sequence.
This method is safe for concurrent use from multiple threads,
but in general it is recommended to use a
RowAccess
instead.
getRow
in interface StarTable
getRow
in class WrapperStarTable
irow
- the index of the row to retrieveirow
public RowAccess getRowAccess()
StarTable
getRowAccess
in interface StarTable
getRowAccess
in class WrapperStarTable
public RowSequence getRowSequence() throws IOException
StarTable
getRowSequence
in interface StarTable
getRowSequence
in class WrapperStarTable
IOException
- if there is an error providing accesspublic RowSplittable getRowSplittable() throws IOException
StarTable
The return value must be non-null, and may provide splitting
arrangements specially appropriate for the implementation.
If this table 'wraps' an upstream table, it is usually best to
base the implementation on calls to the the upstream
getRowSplittable
method, so that upstream policy
about how to divide up the table is respected.
However, implementations without special requirements may return
Tables.getDefaultRowSplittable
(this)
.
getRowSplittable
in interface StarTable
getRowSplittable
in class WrapperStarTable
IOException
RowRunner
Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.