uk.ac.starlink.table

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

- - ### Constructor Summary

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

  - ### Method Summary

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

    - ### Methods inherited from class uk.ac.starlink.table.ColumnData

      `getColumnInfo, setColumnInfo`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### WrapperColumn

          public WrapperColumn(ColumnData base)

      Initialises a new WrapperColumn based on a base column.
      Parameters:
        `base` - the base column

  - ### Method Detail

    - #### readValue

          public java.lang.Object readValue(long irow)
                                     throws java.io.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:
        `java.io.IOException` - if there is some problem reading

    - #### storeValue

          public void storeValue(long irow,
                                 java.lang.Object val)
                          throws java.io.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:
        `java.io.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, java.lang.Object)` can be used

    - #### getBaseColumn

          public ColumnData getBaseColumn()

      Returns the column on which this one is based.
      Returns:
        wrapped column