Class JELColumnSupplement

java.lang.Object
uk.ac.starlink.ttools.filter.JELColumnSupplement
All Implemented Interfaces:
ColumnSupplement

public class JELColumnSupplement extends 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, String[] exprs, uk.ac.starlink.table.ColumnInfo[] colInfos)
    Constructs a multiple-column JEL column supplement.
    JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, String expr, uk.ac.starlink.table.ColumnInfo colInfo)
    Constructs a single-column JEL column supplement.
  • Method Summary

    Modifier and Type
    Method
    Description
    createSupplementData(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.
    int
    Returns the number of columns defined by this object.
    uk.ac.starlink.table.ColumnInfo
    getColumnInfo(int icol)
    Returns the column metadata object for a given column.
    getRow(long irow)
    Random access read of a row defined by this object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JELColumnSupplement

      public JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, String[] exprs, uk.ac.starlink.table.ColumnInfo[] colInfos) throws IOException
      Constructs a multiple-column JEL column supplement.
      Parameters:
      inTable - table providing JEL context
      exprs - JEL expressions for columns
      colInfos - metadata for columns (data types may be changed to match expression output); if null, names are generated automatically
      Throws:
      IOException - with a helpful message if one of the expressions cannot be compiled
    • JELColumnSupplement

      public JELColumnSupplement(uk.ac.starlink.table.StarTable inTable, String expr, uk.ac.starlink.table.ColumnInfo colInfo) throws IOException
      Constructs a single-column JEL column supplement.
      Parameters:
      inTable - table providing JEL context
      expr - JEL expression for column
      colInfo - metadata for column (data type may be changed to match expression output); if null, name is generated automatically
      Throws:
      IOException
  • Method Details

    • getColumnCount

      public int getColumnCount()
      Description copied from interface: ColumnSupplement
      Returns the number of columns defined by this object.
      Specified by:
      getColumnCount in interface ColumnSupplement
      Returns:
      number of columns
    • getColumnInfo

      public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol)
      Description copied from interface: ColumnSupplement
      Returns the column metadata object for a given column.
      Specified by:
      getColumnInfo in interface ColumnSupplement
      Parameters:
      icol - column index within this object
      Returns:
      column metadata for the icol'th column defined by this object
    • getCell

      public Object getCell(long irow, int icol) throws IOException
      Description copied from interface: ColumnSupplement
      Random access read of a cell defined by this object.
      Specified by:
      getCell in interface ColumnSupplement
      Parameters:
      irow - row index
      icol - column index
      Returns:
      cell content
      Throws:
      IOException
    • getRow

      public Object[] getRow(long irow) throws IOException
      Description copied from interface: ColumnSupplement
      Random access read of a row defined by this object.
      Specified by:
      getRow in interface ColumnSupplement
      Parameters:
      irow - row index
      Returns:
      array of cell contents for all the cells in this row
      Throws:
      IOException
    • createSupplementData

      public SupplementData createSupplementData(uk.ac.starlink.table.RowData rdata) throws IOException
      Description copied from interface: ColumnSupplement
      Returns 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:
      createSupplementData in interface ColumnSupplement
      Parameters:
      rdata - row accessor providing data from the host table
      Returns:
      accessor over row data from supplementary columns
      Throws:
      IOException