# Class AddColumnsTable

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

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

public class AddColumnsTable extends uk.ac.starlink.table.WrapperStarTable
Wrapper table which adds another table to it by placing all the columns of the added table together with the existing columns. The added columns may be placed anywhere, but they stay together. Table metadata is just that of the base table.

Since:
  2 Dec 2011
Author:
  Mark Taylor

## Field Summary

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

`baseTable`

## Constructor Summary

Constructors
Constructor
Description
`AddColumnsTable(uk.ac.starlink.table.StarTable baseTable, ColumnSupplement colSup)`
Constructs a table in which the added columns come after all the columns of the base table.
`AddColumnsTable(uk.ac.starlink.table.StarTable baseTable, ColumnSupplement colSup, int ipos)`
Constructs a table in which the added columns are placed at a given position.

## Method Summary

Modifier and Type
Method
Description
`Object`
`getCell(long irow, int icol)`
`int`
`getColumnCount()`
`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, 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

### AddColumnsTable

public AddColumnsTable(uk.ac.starlink.table.StarTable baseTable, ColumnSupplement colSup, int ipos)
Constructs a table in which the added columns are placed at a given position.

Parameters:
  `baseTable` - base table
  `colSup` - object supplying columns to be added
  `ipos` - column index within the output table at which the first `colSup` column should appear

### AddColumnsTable

public AddColumnsTable(uk.ac.starlink.table.StarTable baseTable, ColumnSupplement colSup)
Constructs a table in which the added columns come after all the columns of the base table.

Parameters:
  `baseTable` - base table
  `colSup` - object supplying columns to be added

## Method Details

### getColumnCount

public int getColumnCount()

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

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