C - type of object that is calculated from each row of the
input table, and supplies values to the corresponding
row of this tablepublic abstract class CalcStarTable<C> extends AbstractStarTable
| Modifier and Type | Class and Description |
|---|---|
static interface |
CalcStarTable.Col<C,T>
Defines a column for use with this table implementation.
|
| Constructor and Description |
|---|
CalcStarTable(StarTable base,
CalcStarTable.Col<C,?>[] columns)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
abstract C |
createCalculation(long irow)
Creates the calculation object for the given row of the input table.
|
abstract C |
createCalculation(RowData baseRow)
Creates the calculation object for the current row of the input table.
|
StarTable |
getBaseTable()
Returns the input table on which this table is based.
|
java.lang.Object |
getCell(long irow,
int icol)
The
AbstractStarTable implementation of this method
throws an UnsupportedOperationException,
since unless otherwise provided there is no random access. |
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)
The
AbstractStarTable implementation of this method
constructs a row by repeated invocation of AbstractStarTable.getCell(long, int). |
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 a default splittable which relies on table random access
if available, or otherwise provides only sequential access (no splits).
|
boolean |
isRandom()
The
AbstractStarTable implementation of this method
returns false. |
checkedLongToInt, close, getColumnAuxDataInfos, getName, getParameters, getURL, setName, setParameters, setURLclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameterByName, setParameterpublic CalcStarTable(StarTable base, CalcStarTable.Col<C,?>[] columns)
base - input tablecolumns - array defining the columns of this tablepublic abstract C createCalculation(RowData baseRow) throws java.io.IOException
baseRow - row from base tablebaseRowjava.io.IOExceptionpublic abstract C createCalculation(long irow) throws java.io.IOException
irow - row index for which calculation is requiredirowjava.io.IOExceptionpublic StarTable getBaseTable()
public ColumnInfo getColumnInfo(int icol)
StarTablegetColumnInfo in interface StarTablegetColumnInfo in class AbstractStarTableicol - the column for which header information is requiredicolpublic int getColumnCount()
StarTablegetColumnCount in interface StarTablegetColumnCount in class AbstractStarTablepublic long getRowCount()
StarTablegetRowCount in interface StarTablegetRowCount in class AbstractStarTablepublic boolean isRandom()
AbstractStarTableAbstractStarTable implementation of this method
returns false.isRandom in interface StarTableisRandom in class AbstractStarTabletrue if table random access methods are availablepublic RowSequence getRowSequence() throws java.io.IOException
StarTablegetRowSequence in interface StarTablegetRowSequence in class AbstractStarTablejava.io.IOException - if there is an error providing accesspublic RowSplittable getRowSplittable() throws java.io.IOException
AbstractStarTableIt is often possible to provide a better implementation than this.
getRowSplittable in interface StarTablegetRowSplittable in class AbstractStarTableTables.getDefaultRowSplittable(this)java.io.IOExceptionRowRunnerpublic RowAccess getRowAccess() throws java.io.IOException
StarTablegetRowAccess in interface StarTablegetRowAccess in class AbstractStarTablejava.io.IOException - if there is an error setting up accesspublic java.lang.Object[] getRow(long irow)
throws java.io.IOException
AbstractStarTableAbstractStarTable implementation of this method
constructs a row by repeated invocation of AbstractStarTable.getCell(long, int).getRow in interface StarTablegetRow in class AbstractStarTableirow - the index of the row to retrieveirowjava.io.IOException - if there is an error reading the datapublic java.lang.Object getCell(long irow,
int icol)
throws java.io.IOException
AbstractStarTableAbstractStarTable implementation of this method
throws an UnsupportedOperationException,
since unless otherwise provided there is no random access.getCell in interface StarTablegetCell in class AbstractStarTableirow - the index of the cell's rowicol - the index of the cell's columnjava.io.IOException - if there is an error reading the data