# Class ChoiceMode

java.lang.Object
uk.ac.starlink.ttools.task.ChoiceMode

All Implemented Interfaces:
  `ProcessingMode`

public class ChoiceMode extends Object implements ProcessingMode
Output mode which can be used to give the user, via the parameter system, the choice about what mode to use. This mode is not intended for use as one amongst many, but as the only ProcessingMode for a processing sequence, for instance as the parameter to the `ConsumerTask` constructor.

Note: that use of this mode is used by the `JyStilts` script to identify tasks whose primary output is a table, so that such tables can by default be returned to the jython environment rather than serialised to output files.

Since:
  3 May 2006
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`ChoiceMode()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`TableConsumer`
`createConsumer(uk.ac.starlink.task.Environment env)`
Creates a TableConsumer, deriving any additional required configuration from a given environment.
`uk.ac.starlink.task.Parameter<?>[]`
`getAssociatedParameters()`
Returns a list of any parameters which are associated with this mode.
`String`
`getDescription()`
Returns a textual description of this processing mode.
`OutputModeParameter`
`getOutputModeParameter()`
Returns the parameter used to acquire the chosen output mode.

### Methods inherited from class Object

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

## Constructor Details

### ChoiceMode

public ChoiceMode()
Constructor.

## Method Details

### getAssociatedParameters

public uk.ac.starlink.task.Parameter<?>[] getAssociatedParameters()
Description copied from interface: `ProcessingMode`
Returns a list of any parameters which are associated with this mode.

Specified by:
  `getAssociatedParameters` in interface `ProcessingMode`
Returns:
  parameter list

### getOutputModeParameter

public OutputModeParameter getOutputModeParameter()
Returns the parameter used to acquire the chosen output mode.

Returns:
  output mode parameter

### getDescription

public String getDescription()
Description copied from interface: `ProcessingMode`
Returns a textual description of this processing mode. This will be included in the user document so should be in XML.

Specified by:
  `getDescription` in interface `ProcessingMode`
Returns:
  textual description of this mode

### createConsumer

public TableConsumer createConsumer(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
Description copied from interface: `ProcessingMode`
Creates a TableConsumer, deriving any additional required configuration from a given environment.

Specified by:
  `createConsumer` in interface `ProcessingMode`
Parameters:
  `env` - execution environment
Throws:
  `uk.ac.starlink.task.TaskException`