# Class ProgressFilter

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

All Implemented Interfaces:
  `ProcessingFilter, ProcessingStep`

public class ProgressFilter extends BasicFilter implements ProcessingStep
Processing step which writes table progress to the terminal. More than one of these active at once using the same output stream is likely to be messy.

Since:
  27 Apr 2005
Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`ProgressFilter()`
Constructs a new filter which writes progress to System.err.
`ProgressFilter(PrintStream pstrm)`
Constructs a new filter which writes progress to a given print stream.

## 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()`
`uk.ac.starlink.table.StarTable`
`wrap(uk.ac.starlink.table.StarTable in)`
Performs a table filtering step.

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

### ProgressFilter

public ProgressFilter()
Constructs a new filter which writes progress to System.err.

### ProgressFilter

public ProgressFilter(PrintStream pstrm)
Constructs a new filter which writes progress to a given print stream.

Parameters:
  `pstrm` - destination terminal for progress characters

## Method Details

### getDescriptionLines

protected String[] getDescriptionLines()

Specified by:
  `getDescriptionLines` in class `BasicFilter`

### createStep

public ProcessingStep createStep(Iterator<String> argIt)
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.

Specified by:
  `createStep` in interface `ProcessingFilter`
Parameters:
  `argIt` - iterator over command-line arguments positioned at the first one

### wrap

public uk.ac.starlink.table.StarTable wrap(uk.ac.starlink.table.StarTable in)
Description copied from interface: `ProcessingStep`
Performs a table filtering step.

Specified by:
  `wrap` in interface `ProcessingStep`
Parameters:
  `in` - input table
Returns:
  output table