# Class RandomViewFilter

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

All Implemented Interfaces:
  `ProcessingFilter, ProcessingStep`

public class RandomViewFilter extends BasicFilter implements ProcessingStep
Processing filter that makes sure any RowSequence taken out on a table uses calls to random table access methods. This will obviously cause an error if the table being filtered does not have random access. Only really likely to be used for debugging purposes.

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

## Constructor Summary

Constructors
Constructor
Description
`RandomViewFilter()`

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

### RandomViewFilter

public RandomViewFilter()

## 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 base) throws IOException
Description copied from interface: `ProcessingStep`
Performs a table filtering step.

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