Package uk.ac.starlink.ttools.filter
Class JELColumnSupplement
- java.lang.Object
-
- uk.ac.starlink.ttools.filter.JELColumnSupplement
-
- All Implemented Interfaces:
ColumnSupplement
public class JELColumnSupplement extends java.lang.Object implements ColumnSupplement
ColumnSupplement that generates new columns based on JEL expressions.- Since:
- 27 Mar 2012
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, java.lang.String[] exprs, uk.ac.starlink.table.ColumnInfo[] colInfos)Constructs a multiple-column JEL column supplement.JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, java.lang.String expr, uk.ac.starlink.table.ColumnInfo colInfo)Constructs a single-column JEL column supplement.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SupplementDatacreateSupplementData(uk.ac.starlink.table.RowData rdata)Returns a new accessor for the values in the columns defined by this object.java.lang.ObjectgetCell(long irow, int icol)Random access read of a cell defined by this object.intgetColumnCount()Returns the number of columns defined by this object.uk.ac.starlink.table.ColumnInfogetColumnInfo(int icol)Returns the column metadata object for a given column.java.lang.Object[]getRow(long irow)Random access read of a row defined by this object.
-
-
-
Constructor Detail
-
JELColumnSupplement
public JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, java.lang.String[] exprs, uk.ac.starlink.table.ColumnInfo[] colInfos) throws java.io.IOExceptionConstructs a multiple-column JEL column supplement.- Parameters:
inTable- table providing JEL contextexprs- JEL expressions for columnscolInfos- metadata for columns (data types may be changed to match expression output); if null, names are generated automatically- Throws:
java.io.IOException- with a helpful message if one of the expressions cannot be compiled
-
JELColumnSupplement
public JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, java.lang.String expr, uk.ac.starlink.table.ColumnInfo colInfo) throws java.io.IOExceptionConstructs a single-column JEL column supplement.- Parameters:
inTable- table providing JEL contextexpr- JEL expression for columncolInfo- metadata for column (data type may be changed to match expression output); if null, name is generated automatically- Throws:
java.io.IOException
-
-
Method Detail
-
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
public java.lang.Object getCell(long irow, int icol) throws java.io.IOExceptionDescription 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:
java.io.IOException
-
getRow
public java.lang.Object[] getRow(long irow) throws java.io.IOExceptionDescription 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:
java.io.IOException
-
createSupplementData
public SupplementData createSupplementData(uk.ac.starlink.table.RowData rdata) throws java.io.IOException
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:
java.io.IOException
-
-