Class 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
      SupplementData createSupplementData​(uk.ac.starlink.table.RowData rdata)
      Returns a new accessor for the values in the columns defined by this object.
      java.lang.Object getCell​(long irow, int icol)
      Random access read of a cell defined by this object.
      int getColumnCount()
      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.
      java.lang.Object[] 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 Detail

      • JELColumnSupplement

        public JELColumnSupplement​(uk.ac.starlink.table.StarTable inTable,
                                   java.lang.String[] exprs,
                                   uk.ac.starlink.table.ColumnInfo[] colInfos)
                            throws java.io.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:
        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.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:
        java.io.IOException
    • Method Detail

      • 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 java.lang.Object getCell​(long irow,
                                        int icol)
                                 throws java.io.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:
        java.io.IOException
      • getRow

        public java.lang.Object[] getRow​(long irow)
                                  throws java.io.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:
        java.io.IOException
      • createSupplementData

        public SupplementData createSupplementData​(uk.ac.starlink.table.RowData rdata)
                                            throws java.io.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:
        java.io.IOException