# Class KeepColumnFilter

java.lang.Object
uk.ac.starlink.ttools.filter.BasicFilter
uk.ac.starlink.ttools.filter.KeepColumnFilter

All Implemented Interfaces:
  `ProcessingFilter`

public class KeepColumnFilter extends BasicFilter
Table filter for selecting a number of columns and discarding the rest.

Since:
  3 Mar 2005
Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`KeepColumnFilter()`

## Method Summary

Modifier and Type
Method
Description
`ProcessingStep`
`createStep(Iterator<String> argIt)`
Creates a new ProcessingStep based on a sequence of command-line arguments.
`protected String[]`
`getDescriptionLines()`
`static uk.ac.starlink.table.StarTable`
`keepColumnTable(uk.ac.starlink.table.StarTable table, String colIdList)`
Returns a table which selects a number of columns from its base table by column ID.

### Methods inherited from class BasicFilter

`explainSyntax, getDescription, getName, getUsage`

### Methods inherited from class Object

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

## Constructor Details

### KeepColumnFilter

public KeepColumnFilter()

## Method Details

### getDescriptionLines

protected String[] getDescriptionLines()

Specified by:
  `getDescriptionLines` in class `BasicFilter`

### createStep

public ProcessingStep createStep(Iterator<String> argIt) throws ArgException
Description copied from interface: `ProcessingFilter`
Creates a new ProcessingStep based on a sequence of command-line arguments. The `argIt` argument is an iterator over the command-line arguments positioned just before any arguments intended for this filter. If legal, any that can be comprehended by this filter should be read (iterated over) and removed, and a `ProcessingStep` should accordingly be returned. In the case of a successful return, it is essential that no arguments other than the ones intended for this filter are read from the iterator.

If the argument list is badly-formed as far as this filter is concerned, an `ArgException` should be thrown.

Parameters:
  `argIt` - iterator over command-line arguments positioned at the first one
Throws:
  `ArgException`

### keepColumnTable

public static uk.ac.starlink.table.StarTable keepColumnTable(uk.ac.starlink.table.StarTable table, String colIdList) throws IOException
Returns a table which selects a number of columns from its base table by column ID.

Parameters:
  `table` - base table
  `colIdList` - list of column IDs, one for each column in the output table
Returns:
  new table using columns selected from `table`
Throws:
  `IOException`