Class ConsumerTask

java.lang.Object
uk.ac.starlink.ttools.task.ConsumerTask
All Implemented Interfaces:
uk.ac.starlink.task.Task
Direct Known Subclasses:
MapperTask, RegQuery, SingleMapperTask, TableCone, TableLoop, TapResume

public abstract class ConsumerTask extends Object implements uk.ac.starlink.task.Task
Abstract task which takes an input table and disposes of it. Concrete subclasses must supply the table.
Since:
29 Aug 2005
Author:
Mark Taylor
  • Constructor Details

    • ConsumerTask

      public ConsumerTask(String purpose, ProcessingMode outMode, boolean useOutFilter)
      Constructor.
      Parameters:
      purpose - one-line description of the task
      outMode - processing mode which determines the destination of the processed table
      useOutFilter - allow specification of filters for output table
  • Method Details

    • getPurpose

      public String getPurpose()
      Specified by:
      getPurpose in interface uk.ac.starlink.task.Task
    • getParameters

      public uk.ac.starlink.task.Parameter<?>[] getParameters()
      Specified by:
      getParameters in interface uk.ac.starlink.task.Task
    • getParameterList

      protected List<uk.ac.starlink.task.Parameter<?>> getParameterList()
      Returns the parameter list for this task; it may be modified.
      Returns:
      parameter list
    • createProducer

      public abstract TableProducer createProducer(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
      Returns an object which can produce the effective output table which will be consumed by this task. The table produced by the resulting producer can be fed to the getIdentity(uk.ac.starlink.table.StarTable) method.
      Parameters:
      env - execution environment
      Returns:
      table producer
      Throws:
      uk.ac.starlink.task.TaskException
    • createExecutable

      public uk.ac.starlink.task.Executable createExecutable(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
      Specified by:
      createExecutable in interface uk.ac.starlink.task.Task
      Throws:
      uk.ac.starlink.task.TaskException
    • getOutputMode

      public ProcessingMode getOutputMode()
      Returns this task's output mode.
      Returns:
      output mode
    • createProducer

      public static TableProducer createProducer(uk.ac.starlink.task.Environment env, FilterParameter filterParam, InputTableParameter inParam) throws uk.ac.starlink.task.TaskException
      Constructs a table producer given an input parameter and an input filter parameter. Tables which are generated by equal input parameters will evaluate as equal in the sense of Object.equals().
      Parameters:
      env - execution environment
      filterParam - parameter giving filter steps (or null)
      inParam - parameter giving input table
      Returns:
      table producer, or null if the table input parameter has a (permitted) blank value
      Throws:
      uk.ac.starlink.task.TaskException
    • getIdentity

      public static String getIdentity(uk.ac.starlink.table.StarTable table)
      Returns an identification string for a table that has been produced by the TableProducer from this class's createProducer(uk.ac.starlink.task.Environment) method. This string amalgamates the table location and any filters applied to produce it, so it should be usable elsewhere, including in unrelated JVMs, to identify a table.
      Parameters:
      table - input table produced by this task
      Returns:
      unique table identifier