# Class WrapperColumn

java.lang.Object
uk.ac.starlink.table.ColumnData
uk.ac.starlink.table.WrapperColumn

Direct Known Subclasses:
  `EditableColumn`

public class WrapperColumn extends ColumnData
ColumnData which wraps another ColumnData. The behaviour of this ColumnData is identical to that of the base one. It is intended for subclasses which may modify the behaviour in some way.

Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`WrapperColumn(ColumnData base)`
Initialises a new WrapperColumn based on a base column.

## Method Summary

Modifier and Type
Method
Description
`ColumnData`
`getBaseColumn()`
Returns the column on which this one is based.
`boolean`
`isWritable()`
Indicates whether this object can store values.
`Object`
`readValue(long irow)`
Returns the value stored at a given row in this column.
`void`
`storeValue(long irow, Object val)`
Stores a given value in a given row for this column.

### Methods inherited from class ColumnData

`getColumnInfo, setColumnInfo`

### Methods inherited from class Object

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

## Constructor Details

### WrapperColumn

public WrapperColumn(ColumnData base)
Initialises a new WrapperColumn based on a base column.

Parameters:
  `base` - the base column

## Method Details

### readValue

public Object readValue(long irow) throws IOException
Description copied from class: `ColumnData`
Returns the value stored at a given row in this column.

Specified by:
  `readValue` in class `ColumnData`
Parameters:
  `irow` - the row from which to retrieve the value
Returns:
  the value stored at `irow`
Throws:
  `IOException` - if there is some problem reading

### storeValue

public void storeValue(long irow, Object val) throws IOException
Description copied from class: `ColumnData`
Stores a given value in a given row for this column. Will only work if the `isWritable` method returns true. The implementation in the `ColumnData` class throws an `UnsupportedOperationException`.

Overrides:
  `storeValue` in class `ColumnData`
Parameters:
  `irow` - the row to store it in
  `val` - the object to store
Throws:
  `IOException` - if there is some problem writing

### isWritable

public boolean isWritable()
Description copied from class: `ColumnData`
Indicates whether this object can store values. The implementation in the `ColumnData` class returns `false`

Overrides:
  `isWritable` in class `ColumnData`
Returns:
  true iff `ColumnData.storeValue(long, Object)` can be used

### getBaseColumn

public ColumnData getBaseColumn()
Returns the column on which this one is based.

Returns:
  wrapped column