uk.ac.starlink.table.storage

## Class IndexedStreamColumnStore

- java.lang.Object
- - uk.ac.starlink.table.storage.IndexedStreamColumnStore

- All Implemented Interfaces:
    ColumnStore

      public class IndexedStreamColumnStore
      extends java.lang.Object
      implements ColumnStore

  ColumnStore implementation which uses two streamed files to store a variable number of variable-length data items.
  Since:
    21 Jun 2006

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IndexedStreamColumnStore(Codec codec, java.io.File dataFile, java.io.File indexFile)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete 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.

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

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

- - ### Constructor Detail

    - #### IndexedStreamColumnStore

          public IndexedStreamColumnStore(Codec codec,
                                          java.io.File dataFile,
                                          java.io.File indexFile)
                                   throws java.io.IOException

      Constructor.
      Parameters:
        `codec` - encoder/decoder for the type of data stored in this column
        `dataFile` - filename used for storing the data; it is the caller's responsibility to clear this up
        `indexFile` - filename used for storing offset values; it is the caller's responsibility to clear this up
      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### acceptCell

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

      Description copied from interface: `ColumnStore`
      Writes a datum to this store.
      Specified by:
        `acceptCell` in interface `ColumnStore`
      Parameters:
        `value` - the value to add
      Throws:
        `java.io.IOException`

    - #### endCells

          public void endCells()
                        throws java.io.IOException

      Description copied from interface: `ColumnStore`
      Signals that no more calls to `acceptCell` will be made, and that calls to `createReader` may be made.
      Specified by:
        `endCells` in interface `ColumnStore`
      Throws:
        `java.io.IOException`

    - #### createReader

          public ColumnReader createReader()

      Description copied from interface: `ColumnStore`
      Returns an object that can provide random access to the cells written to this store.
      Specified by:
        `createReader` in interface `ColumnStore`
      Returns:
        column cell reader