public class ExplodedStarTable extends WrapperStarTable
baseTable
Constructor and Description |
---|
ExplodedStarTable(StarTable baseTable)
Constructs a table in which all fixed-length array-valued columns
are exploded.
|
ExplodedStarTable(StarTable baseTable,
boolean[] colFlags)
Constructs a table in which specified columns are exploded.
|
Modifier and Type | Method and Description |
---|---|
java.lang.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.
|
java.lang.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, toString
public ExplodedStarTable(StarTable baseTable, boolean[] colFlags)
baseTable
- base tablecolFlags
- array of flags the same length as the number of
columns in baseTable
; true elements indicate
columns in the base table which should be explodedjava.lang.IllegalArgumentException
- if any column specified by
colFlags
has a type which is not
a fixed-length arraypublic ExplodedStarTable(StarTable baseTable)
baseTable
- base tablepublic int getColumnCount()
StarTable
getColumnCount
in interface StarTable
getColumnCount
in class WrapperStarTable
public ColumnInfo getColumnInfo(int icol)
StarTable
getColumnInfo
in interface StarTable
getColumnInfo
in class WrapperStarTable
icol
- the column for which header information is requiredicol
public java.lang.Object getCell(long irow, int icol) throws java.io.IOException
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 columnjava.io.IOException
- if there is an error reading the datapublic java.lang.Object[] getRow(long irow) throws java.io.IOException
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
java.io.IOException
- if there is an error reading the datapublic RowSequence getRowSequence() throws java.io.IOException
StarTable
getRowSequence
in interface StarTable
getRowSequence
in class WrapperStarTable
java.io.IOException
- if there is an error providing accesspublic RowAccess getRowAccess() throws java.io.IOException
StarTable
getRowAccess
in interface StarTable
getRowAccess
in class WrapperStarTable
java.io.IOException
- if there is an error setting up accesspublic RowSplittable getRowSplittable() throws java.io.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
java.io.IOException
RowRunner