Interface ColumnCalculator<S>

All Known Implementing Classes:
MultiServiceColumnCalculator, SchlegelCalculator

public interface ColumnCalculator<S>
Defines an object which can calculate new columns for a table given a fixed set of input columns and some additional configuration.

This interface is suitable for algorithms which do not simply operate row-by-row, that is they may need some or all rows of an input table in order to generate the output table. In typical usage it may take a significant amount of time to complete; it will not normally be appropriate to invoke the same calculation on the same table more than once (for instance, to generate virtual data for table cells).

Since:
14 Oct 2011
Author:
Mark Taylor
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    calculateColumns(S spec, uk.ac.starlink.table.StarTable tupleTable, uk.ac.starlink.table.TableSink sink)
    Performs the calculation.
    uk.ac.starlink.table.ValueInfo[]
    Returns an array describing the columns of the input table.
  • Method Details

    • getTupleInfos

      uk.ac.starlink.table.ValueInfo[] getTupleInfos()
      Returns an array describing the columns of the input table.
      Returns:
      one info for each column in the tuple table
    • calculateColumns

      void calculateColumns(S spec, uk.ac.starlink.table.StarTable tupleTable, uk.ac.starlink.table.TableSink sink) throws IOException
      Performs the calculation. Rows are written to the output sink based on the input table and configuration contained in the spec object. The output table must have the same number of rows as the input table, and will not normally contain any of the same columns.
      Parameters:
      spec - specification object providing additional instructions about the calculation to be performed
      tupleTable - input table, with one column for each tuple element
      sink - sink to which the output table is written
      Throws:
      IOException