uk.ac.starlink.table.storage

## Interface ColumnStore

- All Known Implementing Classes:
    IndexedStreamColumnStore, StreamColumnStore

      public interface ColumnStore

  Defines an object which can store the data of a column, that is, an array of homogeneous objects. The store is populated sequentially, and when ready provides random access.

  The sequence of calls must be as follows:

  1. Zero or more calls of `acceptCell(java.lang.Object)`
  2. A call of `endCells()`
  3. Zero or more calls of `createReader()`
  Behaviour will be undefined if you violate this sequence.
  Since:
    21 Jun 2006

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `acceptCell(java.lang.Object value)` Writes a datum to this store.
    `ColumnReader` | `createReader()` Returns an object that can provide random access to the cells written to this store.
    `void` | `endCells()` Signals that no more calls to `acceptCell` will be made, and that calls to `createReader` may be made.

- - ### Method Detail

    - #### acceptCell

          void acceptCell(java.lang.Object value)
                   throws java.io.IOException

      Writes a datum to this store.
      Parameters:
        `value` - the value to add
      Throws:
        `java.io.IOException`

    - #### endCells

          void endCells()
                 throws java.io.IOException

      Signals that no more calls to `acceptCell` will be made, and that calls to `createReader` may be made.
      Throws:
        `java.io.IOException`

    - #### createReader

          ColumnReader createReader()

      Returns an object that can provide random access to the cells written to this store.
      Returns:
        column cell reader