Package uk.ac.starlink.table
Class ExplodedStarTable
- java.lang.Object
-
- uk.ac.starlink.table.WrapperStarTable
-
- uk.ac.starlink.table.ExplodedStarTable
-
- All Implemented Interfaces:
StarTable
public class ExplodedStarTable extends WrapperStarTable
Wrapper table which takes any column whose value is N-element arrays and turns it into N scalar-valued columns.- Since:
- 2 Mar 2005
- Author:
- Mark Taylor (Starlink)
-
-
Field Summary
-
Fields inherited from class uk.ac.starlink.table.WrapperStarTable
baseTable
-
-
Constructor Summary
Constructors Constructor 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.RowSequence
getRowSequence()
Returns an object which can iterate over all the rows in the table sequentially.-
Methods inherited from class uk.ac.starlink.table.WrapperStarTable
checkedLongToInt, getBaseTable, getColumnAuxDataInfos, getName, getParameterByName, getParameters, getRowCount, getURL, isRandom, setName, setParameter, setURL, toString
-
-
-
-
Constructor Detail
-
ExplodedStarTable
public ExplodedStarTable(StarTable baseTable, boolean[] colFlags)
Constructs a table in which specified columns are exploded. All of the specified columns must have values which are fixed-length arrays.- Parameters:
baseTable
- base tablecolFlags
- array of flags the same length as the number of columns inbaseTable
; true elements indicate columns in the base table which should be exploded- Throws:
java.lang.IllegalArgumentException
- if any column specified bycolFlags
has a type which is not a fixed-length array
-
ExplodedStarTable
public ExplodedStarTable(StarTable baseTable)
Constructs a table in which all fixed-length array-valued columns are exploded.- Parameters:
baseTable
- base table
-
-
Method Detail
-
getColumnCount
public int getColumnCount()
Description copied from interface:StarTable
Returns the number of columns in this table.- Specified by:
getColumnCount
in interfaceStarTable
- Overrides:
getColumnCount
in classWrapperStarTable
- Returns:
- the number of columns
-
getColumnInfo
public ColumnInfo getColumnInfo(int icol)
Description copied from interface:StarTable
Returns the object describing the data in a given column.- Specified by:
getColumnInfo
in interfaceStarTable
- Overrides:
getColumnInfo
in classWrapperStarTable
- Parameters:
icol
- the column for which header information is required- Returns:
- a ValueInfo object for column icol
-
getCell
public java.lang.Object getCell(long irow, int icol) throws java.io.IOException
Description copied from interface:StarTable
Returns the contents of a given table cell. The class of the returned object should be the same as, or a subclass of, the class returned by getColumnInfo(icol).getContentClass().- Specified by:
getCell
in interfaceStarTable
- Overrides:
getCell
in classWrapperStarTable
- Parameters:
irow
- the index of the cell's rowicol
- the index of the cell's column- Returns:
- the contents of this cell
- Throws:
java.io.IOException
- if there is an error reading the data
-
getRow
public java.lang.Object[] getRow(long irow) throws java.io.IOException
Description copied from interface:StarTable
Returns the contents of a given table row. The returned value is equivalent to an array formed of all the objects returned by getCell(irow,icol) for all the columns icol in sequence.- Specified by:
getRow
in interfaceStarTable
- Overrides:
getRow
in classWrapperStarTable
- Parameters:
irow
- the index of the row to retrieve- Returns:
- an array of the objects in each cell in row irow
- Throws:
java.io.IOException
- if there is an error reading the data
-
getRowSequence
public RowSequence getRowSequence() throws java.io.IOException
Description copied from interface:StarTable
Returns an object which can iterate over all the rows in the table sequentially.- Specified by:
getRowSequence
in interfaceStarTable
- Overrides:
getRowSequence
in classWrapperStarTable
- Returns:
- an object providing sequential access to the table data
- Throws:
java.io.IOException
- if there is an error providing access
-
-