# Class PlotStiltsCommand

java.lang.Object
uk.ac.starlink.ttools.task.StiltsCommand
uk.ac.starlink.ttools.plot2.task.PlotStiltsCommand

public class PlotStiltsCommand extends StiltsCommand
StiltsCommand subclass for plot2 commands.

Since:
  15 Sep 2017
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`PlotStiltsCommand(AbstractPlot2Task task, String taskName, SettingGroup[] groups)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static <P,A> PlotStiltsCommand`
`createPlotCommand(PlotSpec<P,A> plotSpec, TableNamer tableNamer, Suffixer layerSuffixer, Suffixer zoneSuffixer)`
Turns a PlotSpec into an abstract model of a STILTS command line to regenerate the same plot.
`AbstractPlot2Task`
`getTask()`
Returns the plot task corresponding to this object.

### Methods inherited from class StiltsCommand

`createCommand, createDefaultParamSetting, createInputTableSettings, createParamSetting, createProgressSetting, getGroups, getParameterByType, getTaskName, toGroups, toString`

### Methods inherited from class Object

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

## Constructor Details

### PlotStiltsCommand

public PlotStiltsCommand(AbstractPlot2Task task, String taskName, SettingGroup[] groups)
Constructor.

Parameters:
  `task` - plot task
  `taskName` - name of the plot task as used by stilts command line
  `groups` - all name-value pairs specifying the configuration of the task, grouped for cosmetic purposes

## Method Details

### getTask

public AbstractPlot2Task getTask()
Returns the plot task corresponding to this object.

Overrides:
  `getTask` in class `StiltsCommand`
Returns:
  plot task object

### createPlotCommand

public static <P,A> PlotStiltsCommand createPlotCommand(PlotSpec<P,A> plotSpec, TableNamer tableNamer, Suffixer layerSuffixer, Suffixer zoneSuffixer) throws uk.ac.starlink.util.LoadException
Turns a PlotSpec into an abstract model of a STILTS command line to regenerate the same plot. Various methods are provided to export this in a way that can be presented to the user or executed.

This is the method that does the work of mapping the internal plot representation to a STILTS command line. It has to understand how the AbstractPlot2Task parameters are specified, which is a complicated job. So (1) the output is not bulletproof, and may get broken by implementation or interface changes elsewhere in the code base, and therefore (2) lots of tests are a good idea. It works on a best efforts basis.

Parameters:
  `plotSpec` - programmatic representation of a plot
  `tableNamer` - controls table naming
  `layerSuffixer` - controls suffixes for layers
  `zoneSuffixer` - cotrols suffixes for zones
Returns:
  new command
Throws:
  `uk.ac.starlink.util.LoadException`