# Class CubeMode

java.lang.Object
uk.ac.starlink.ttools.mode.CubeMode

All Implemented Interfaces:
  `ProcessingMode`

public class CubeMode extends Object implements ProcessingMode
Output mode for generating an N-dimensional histogram of data points from a selection of N columns of the input table.

Since:
  9 May 2006
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`CubeMode()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static WordsParameter<double[]>`
`createBoundsParameter(String name)`
Returns a WordsParameter for decoding "lo:hi"-type bounds strings.
`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.
`void`
`setColumnsParameter(WordsParameter<String> colsParam)`
Configures the parameter which acquires the columns used.

### Methods inherited from class Object

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

## Constructor Details

### CubeMode

public CubeMode()
Constructor.

## Method Details

### 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

### 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

### 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`

### setColumnsParameter

public void setColumnsParameter(WordsParameter<String> colsParam)
Configures the parameter which acquires the columns used. Since this is used to determine the dimensionality of the cube, it has to be set before the values of this mode's parameters are acquired from the environment (before `createConsumer(Environment)` is called).

Parameters:
  `colsParam` - column enumeration parameter

### createBoundsParameter

public static WordsParameter<double[]> createBoundsParameter(String name)
Returns a WordsParameter for decoding "lo:hi"-type bounds strings. Each word is parsed into a 2-element [lo,hi] double array. The returned value handles the parameter parsing, but is not configured with parameter metadata.

Parameters:
  `name` - parameter name
Returns:
  new multi-bounds parameter