Package uk.ac.starlink.ttools.filter
Class PermutedColumnSupplement
java.lang.Object
uk.ac.starlink.ttools.filter.PermutedColumnSupplement
- All Implemented Interfaces:
ColumnSupplement
ColumnSupplement implementation which contains a selection of the
columns in the base table. Each column is a view of one in the base table.
An int[] array, colMap, is used to keep track of which columns in this table correspond to which columns in the base table; the i'th column in this table corresponds to the colMap[i]'th column in the base table. The colMap array may contain duplicate entries, but all its entries must be in the range 0..baseSup.getColumnCount()-1. This table will have colMap.length columns.
- Since:
- 2 Apr 2012
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionPermutedColumnSupplement(uk.ac.starlink.table.StarTable baseTable, int[] colMap) Constructs a permuted column supplement based on a given table.PermutedColumnSupplement(ColumnSupplement baseSup, int[] colMap) Constructs a permuted column supplement based on a given column supplement. -
Method Summary
Modifier and TypeMethodDescriptioncreateSupplementData(uk.ac.starlink.table.RowData rdata) Returns a new accessor for the values in the columns defined by this object.getCell(long irow, int icol) Random access read of a cell defined by this object.intReturns the number of columns defined by this object.uk.ac.starlink.table.ColumnInfogetColumnInfo(int icol) Returns the column metadata object for a given column.Object[]getRow(long irow) Random access read of a row defined by this object.
-
Constructor Details
-
PermutedColumnSupplement
Constructs a permuted column supplement based on a given column supplement.- Parameters:
baseSup- column supplement supplying the base datacolMap- array of column indices, one for each column in this object
-
PermutedColumnSupplement
public PermutedColumnSupplement(uk.ac.starlink.table.StarTable baseTable, int[] colMap) Constructs a permuted column supplement based on a given table.- Parameters:
baseTable- table supplying the base datacolMap- array of column indices, one for each column in this object
-
-
Method Details
-
getColumnCount
public int getColumnCount()Description copied from interface:ColumnSupplementReturns the number of columns defined by this object.- Specified by:
getColumnCountin interfaceColumnSupplement- Returns:
- number of columns
-
getColumnInfo
public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol) Description copied from interface:ColumnSupplementReturns the column metadata object for a given column.- Specified by:
getColumnInfoin interfaceColumnSupplement- Parameters:
icol- column index within this object- Returns:
- column metadata for the icol'th column defined by this object
-
getCell
Description copied from interface:ColumnSupplementRandom access read of a cell defined by this object.- Specified by:
getCellin interfaceColumnSupplement- Parameters:
irow- row indexicol- column index- Returns:
- cell content
- Throws:
IOException
-
getRow
Description copied from interface:ColumnSupplementRandom access read of a row defined by this object.- Specified by:
getRowin interfaceColumnSupplement- Parameters:
irow- row index- Returns:
- array of cell contents for all the cells in this row
- Throws:
IOException
-
createSupplementData
Description copied from interface:ColumnSupplementReturns a new accessor for the values in the columns defined by this object. The supplied row object must be from an appropriate host table; if not, behaviour is undefined.- Specified by:
createSupplementDatain interfaceColumnSupplement- Parameters:
rdata- row accessor providing data from the host table- Returns:
- accessor over row data from supplementary columns
- Throws:
IOException
-