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, setURL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameterByName, setParameter
public 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 tablebaseRow
java.io.IOException
public abstract C createCalculation(long irow) throws java.io.IOException
irow
- row index for which calculation is requiredirow
java.io.IOException
public StarTable getBaseTable()
public ColumnInfo getColumnInfo(int icol)
StarTable
getColumnInfo
in interface StarTable
getColumnInfo
in class AbstractStarTable
icol
- the column for which header information is requiredicol
public int getColumnCount()
StarTable
getColumnCount
in interface StarTable
getColumnCount
in class AbstractStarTable
public long getRowCount()
StarTable
getRowCount
in interface StarTable
getRowCount
in class AbstractStarTable
public boolean isRandom()
AbstractStarTable
AbstractStarTable
implementation of this method
returns false
.isRandom
in interface StarTable
isRandom
in class AbstractStarTable
true
if table random access methods are availablepublic RowSequence getRowSequence() throws java.io.IOException
StarTable
getRowSequence
in interface StarTable
getRowSequence
in class AbstractStarTable
java.io.IOException
- if there is an error providing accesspublic RowSplittable getRowSplittable() throws java.io.IOException
AbstractStarTable
It is often possible to provide a better implementation than this.
getRowSplittable
in interface StarTable
getRowSplittable
in class AbstractStarTable
Tables.getDefaultRowSplittable(this)
java.io.IOException
RowRunner
public RowAccess getRowAccess() throws java.io.IOException
StarTable
getRowAccess
in interface StarTable
getRowAccess
in class AbstractStarTable
java.io.IOException
- if there is an error setting up accesspublic java.lang.Object[] getRow(long irow) throws java.io.IOException
AbstractStarTable
AbstractStarTable
implementation of this method
constructs a row by repeated invocation of AbstractStarTable.getCell(long, int)
.getRow
in interface StarTable
getRow
in class AbstractStarTable
irow
- the index of the row to retrieveirow
java.io.IOException
- if there is an error reading the datapublic java.lang.Object getCell(long irow, int icol) throws java.io.IOException
AbstractStarTable
AbstractStarTable
implementation of this method
throws an UnsupportedOperationException
,
since unless otherwise provided there is no random access.getCell
in interface StarTable
getCell
in class AbstractStarTable
irow
- the index of the cell's rowicol
- the index of the cell's columnjava.io.IOException
- if there is an error reading the data