# Class ReplaceValueTable

java.lang.Object
uk.ac.starlink.table.WrapperStarTable
uk.ac.starlink.ttools.filter.ReplaceValueTable

All Implemented Interfaces:
  `Closeable, AutoCloseable, uk.ac.starlink.table.StarTable`

public class ReplaceValueTable extends uk.ac.starlink.table.WrapperStarTable
Wrapper table which makes replacements of named values with other named values in some of its columns.

Since:
  20 Sep 2005
Author:
  Mark Taylor

## Field Summary

### Fields inherited from class uk.ac.starlink.table.WrapperStarTable

`baseTable`

## Constructor Summary

Constructors
Constructor
Description
`ReplaceValueTable(uk.ac.starlink.table.StarTable baseTable, boolean[] colFlags, String oldStr, String newStr)`
Constructs a new ReplaceValueTable with the same replacement taking place in zero or more of the base table's columns, as described by an array of flags.
`ReplaceValueTable(uk.ac.starlink.table.StarTable baseTable, int[] icols, String[] oldStrs, String[] newStrs)`
Constructs a new ReplaceValueTable from parallel arrays describing the columns to change and the old and new values.

## Method Summary

Modifier and Type
Method
Description
`Object`
`getCell(long irow, int icol)`
`uk.ac.starlink.table.ColumnInfo`
`getColumnInfo(int icol)`
`Object[]`
`getRow(long irow)`
`uk.ac.starlink.table.RowAccess`
`getRowAccess()`
`uk.ac.starlink.table.RowSequence`
`getRowSequence()`
`uk.ac.starlink.table.RowSplittable`
`getRowSplittable()`

### Methods inherited from class uk.ac.starlink.table.WrapperStarTable

`checkedLongToInt, close, getBaseTable, getColumnAuxDataInfos, getColumnCount, getName, getParameterByName, getParameters, getRowCount, getURL, isRandom, setName, setParameter, setURL, toString`

### Methods inherited from class Object

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

## Constructor Details

### ReplaceValueTable

public ReplaceValueTable(uk.ac.starlink.table.StarTable baseTable, boolean[] colFlags, String oldStr, String newStr) throws IOException
Constructs a new ReplaceValueTable with the same replacement taking place in zero or more of the base table's columns, as described by an array of flags.

Parameters:
  `baseTable` - base table
  `colFlags` - array of flags for each column of the table, true only for those columns which should be modified
  `oldStr` - value to be replaced
  `newStr` - replacement value
Throws:
  `IOException`

### ReplaceValueTable

public ReplaceValueTable(uk.ac.starlink.table.StarTable baseTable, int[] icols, String[] oldStrs, String[] newStrs) throws IOException
Constructs a new ReplaceValueTable from parallel arrays describing the columns to change and the old and new values. The additional arguments are a set of parallel arrays, with an element for each of the replacements which will happen. Each of the arrays `icols`, `oldStrs` and `newStrs` must have the same number of elements. Indices in `icols` ought not to be repeated.

Parameters:
  `baseTable` - base table
  `icols` - array of column indices in which replacements will occur
  `oldStrs` - array of strings to be replaced, one for each of the columns in `icols`
  `newStrs` - array of strings to furnish replacement values, one for each of the columns in `icols`
Throws:
  `IOException`

## Method Details

### getColumnInfo

public uk.ac.starlink.table.ColumnInfo getColumnInfo(int icol)

Specified by:
  `getColumnInfo` in interface `uk.ac.starlink.table.StarTable`
Overrides:
  `getColumnInfo` in class `uk.ac.starlink.table.WrapperStarTable`

### getCell

public Object getCell(long irow, int icol) throws IOException

Specified by:
  `getCell` in interface `uk.ac.starlink.table.StarTable`
Overrides:
  `getCell` in class `uk.ac.starlink.table.WrapperStarTable`
Throws:
  `IOException`

### getRow

public Object[] getRow(long irow) throws IOException

Specified by:
  `getRow` in interface `uk.ac.starlink.table.StarTable`
Overrides:
  `getRow` in class `uk.ac.starlink.table.WrapperStarTable`
Throws:
  `IOException`

### getRowSequence

public uk.ac.starlink.table.RowSequence getRowSequence() throws IOException

Specified by:
  `getRowSequence` in interface `uk.ac.starlink.table.StarTable`
Overrides:
  `getRowSequence` in class `uk.ac.starlink.table.WrapperStarTable`
Throws:
  `IOException`

### getRowAccess

public uk.ac.starlink.table.RowAccess getRowAccess() throws IOException

Specified by:
  `getRowAccess` in interface `uk.ac.starlink.table.StarTable`
Overrides:
  `getRowAccess` in class `uk.ac.starlink.table.WrapperStarTable`
Throws:
  `IOException`

### getRowSplittable

public uk.ac.starlink.table.RowSplittable getRowSplittable() throws IOException

Specified by:
  `getRowSplittable` in interface `uk.ac.starlink.table.StarTable`
Overrides:
  `getRowSplittable` in class `uk.ac.starlink.table.WrapperStarTable`
Throws:
  `IOException`