public class JELTable extends WrapperStarTable
baseTable| Constructor and Description |
|---|
JELTable(StarTable baseTable,
ColumnInfo[] colInfos,
String[] exprs)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static StarTable |
createJELTable(StarTable baseTable,
String[] exprs)
Creates a JELTable from a base table and a list of column expressions.
|
static StarTable |
createJELTable(StarTable baseTable,
ValueInfo[] infos,
String[] exprs)
Convenience factory method.
|
Object |
getCell(long irow,
int icol)
Returns the contents of a given table cell.
|
int |
getColumnCount()
Returns the number of columns in this table.
|
ColumnInfo |
getColumnInfo(int icol)
Returns the object describing the data in a given column.
|
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.
|
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.
|
checkedLongToInt, close, getBaseTable, getColumnAuxDataInfos, getName, getParameterByName, getParameters, getRowCount, getURL, isRandom, setName, setParameter, setURL, toStringpublic JELTable(StarTable baseTable, ColumnInfo[] colInfos, String[] exprs) throws gnu.jel.CompilationException
colInfos, which must be the same as the number of
elements in exprs.
If the contentClass attributes of the colInfos
elements are non-null, they must be compatible with the actual
types of the evaluated expressions. If they are not, an
IllegalArgumentException will be thrown.baseTable - table which provides both behaviour determining
whether random access is available etc, and an evaluation
context for the JEL calculationscolInfos - column metadata for each of the columns
in this tableexprs - JEL expressions, evaluated in a context determined
by baseTable, which give the data for this table.gnu.jel.CompilationExceptionpublic int getColumnCount()
StarTablegetColumnCount in interface StarTablegetColumnCount in class WrapperStarTablepublic ColumnInfo getColumnInfo(int icol)
StarTablegetColumnInfo in interface StarTablegetColumnInfo in class WrapperStarTableicol - the column for which header information is requiredicolpublic Object getCell(long irow, int icol) throws IOException
StarTablegetColumnInfo(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 StarTablegetCell in class WrapperStarTableirow - the index of the cell's rowicol - the index of the cell's columnIOException - if there is an error reading the datapublic Object[] getRow(long irow) throws IOException
StarTablegetCell(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 StarTablegetRow in class WrapperStarTableirow - the index of the row to retrieveirowIOException - if there is an error reading the datapublic RowSequence getRowSequence() throws IOException
StarTablegetRowSequence in interface StarTablegetRowSequence in class WrapperStarTableIOException - if there is an error providing accesspublic RowAccess getRowAccess() throws IOException
StarTablegetRowAccess in interface StarTablegetRowAccess in class WrapperStarTableIOException - if there is an error setting up accesspublic RowSplittable getRowSplittable() throws IOException
StarTableThe 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 StarTablegetRowSplittable in class WrapperStarTableIOExceptionRowRunnerpublic static StarTable createJELTable(StarTable baseTable, ValueInfo[] infos, String[] exprs) throws ExecutionException
infos
into ColumnInfos and rethrows any CompilationException as an
ExecutionException.baseTable - table which provides both behaviour determining
whether random access is available etc, and an evaluation
context for the JEL calculationsinfos - metadata used to construct column metadataexprs - JEL expressions, evaluated in a context determined
by baseTable, which give the data for this tableExecutionExceptionpublic static StarTable createJELTable(StarTable baseTable, String[] exprs) throws gnu.jel.CompilationException
baseTable - table which provides both behaviour determining
whether random access is available etc, and an evaluation
context for the JEL calculationsexprs - JEL expressions, evaluated in a context determined
by baseTable, which give the data for this tablegnu.jel.CompilationExceptionCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.