# Class MapperTask

java.lang.Object
uk.ac.starlink.ttools.task.ConsumerTask
uk.ac.starlink.ttools.task.MapperTask

All Implemented Interfaces:
  `uk.ac.starlink.task.Task`

Direct Known Subclasses:
  `PixSample, SkyMatch2, TableCat, TableCat2, TableCatN, TableJoinN, TableMatch2, TableMatchN, TapQuerier`

public abstract class MapperTask extends ConsumerTask
Task which maps one or more input tables to an output table. This class provides methods to acquire the table sources and sink; any actual transformation work is done by a separate `TableMapper` object.

Since:
  15 Aug 2005
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`MapperTask(String purpose, ProcessingMode outMode, boolean useOutFilter, TableMapper mapper, TablesInput tablesInput)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`TableProducer`
`createProducer(uk.ac.starlink.task.Environment env)`
Returns an object which can produce the effective output table which will be consumed by this task.
`TableMapper`
`getMapper()`
Returns this task's Mapper object.
`TablesInput`
`getTablesInput()`
Returns the object used for acquiring input tables from the environment.

### Methods inherited from class ConsumerTask

`createExecutable, createProducer, getIdentity, getOutputMode, getParameterList, getParameters, getPurpose`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### MapperTask

public MapperTask(String purpose, ProcessingMode outMode, boolean useOutFilter, TableMapper mapper, TablesInput tablesInput)
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
  `mapper` - object which defines mapping transformation
  `tablesInput` - object which can acquire multiple input tables from the environment

## Method Details

### createProducer

public TableProducer createProducer(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
Description copied from class: `ConsumerTask`
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 `ConsumerTask.getIdentity(StarTable)` method.

Specified by:
  `createProducer` in class `ConsumerTask`
Parameters:
  `env` - execution environment
Returns:
  table producer
Throws:
  `uk.ac.starlink.task.TaskException`

### getMapper

public TableMapper getMapper()
Returns this task's Mapper object.

Returns:
  mapper

### getTablesInput

public TablesInput getTablesInput()
Returns the object used for acquiring input tables from the environment.

Returns:
  tables input