public class ConcatStarTable extends WrapperStarTable
baseTable| Constructor and Description |
|---|
ConcatStarTable(StarTable meta,
Iterator<StarTable> tableIt)
Constructs a concatenated table from a metadata table and an iterator
over data-bearing tables.
|
ConcatStarTable(StarTable meta,
StarTable[] tables)
Constructs a concatenated table from a metadata table and an array
of data-bearing tables.
|
| Modifier and Type | Method and Description |
|---|---|
static ColumnInfo[] |
extendColumnTypes(ColumnInfo[] colInfos,
StarTable[] tables)
Assembles column metadata objects which are compatible
between multiple tables.
|
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, toStringpublic ConcatStarTable(StarTable meta, Iterator<StarTable> tableIt)
meta a warning message is
issued through the logging system and its rows are ignored.meta - table supplying column and table metadata for this one;
its row count is ignored and its data is never readtableIt - iterator over constituent StarTables which
taken in sequence supply the row data for this onepublic ConcatStarTable(StarTable meta, StarTable[] tables) throws IOException
tables are incompatible with the metadata
in meta an IOException is thrown.meta - table supplying column and table metadata for this one;
its row count is ignored and its data is never readtables - array of tables which taken in sequence supply the
row data for this oneIOException - if any of tables are not compatible
with metapublic long getRowCount()
StarTablegetRowCount in interface StarTablegetRowCount in class WrapperStarTablepublic 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 boolean isRandom()
StarTabletrue may the StarTable.getRowAccess(),
StarTable.getRow(long) and StarTable.getCell(long, int) methods be used.isRandom in interface StarTableisRandom in class WrapperStarTabletrue if table random access methods are availablepublic RowSequence getRowSequence() throws IOException
StarTablegetRowSequence in interface StarTablegetRowSequence in class WrapperStarTableIOException - if there is an error providing 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 RowAccess getRowAccess()
StarTablegetRowAccess in interface StarTablegetRowAccess in class WrapperStarTablepublic static ColumnInfo[] extendColumnTypes(ColumnInfo[] colInfos, StarTable[] tables) throws IOException
This utility method is not used by ConcatStarTable instances, but it may be useful when preparing metadata tables for use with the constructor.
colInfos - input column metadata objectstables - list of tables with which columns must be compatibleIOException - if compatibility cannot be achievedCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.