# Package uk.ac.starlink.table.storage

RowStore implementations.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ByteStoreAccess | Interface for random access reading for data that has been written into a byte store.
  ColumnReader | Accessor for stored values.
  ColumnStore | Defines an object which can store the data of a column, that is, an array of homogeneous objects.

- Class Summary
  Class | Description
  --- | ---
  AdaptiveByteStore | ByteStore which adopts a hybrid approach between use of memory and use of disk.
  ArrayPrimitiveStore | ValueStore implementation which stores primitive values in a normal java array.
  ByteStoreRowStore | RowStore based on a ByteStore.
  ByteStoreStoragePolicy | Abstract StoragePolicy implementation based on a ByteStore.
  Codec | Serializes and deserializes objects to/from a data stream.
  ColumnStoreStarTable | StarTable implementation which retrieves its data from `ColumnStore` objects.
  DiscardByteStore | ByteStore implementation which discards bytes.
  DiscardRowStore | Minimal implementation of `RowStore` which throws away the row data it is given.
  DiskRowStore | Implementation of RowStore which stores data on disk.
  FileByteStore | ByteStore implementation which uses a temporary file.
  IndexedStreamColumnStore | ColumnStore implementation which uses two streamed files to store a variable number of variable-length data items.
  LimitByteStore | ByteStore wrapper class which will throw an IOException during writing if an attempt is made to store more than a fixed number of bytes.
  ListRowStore | Implementation of RowStore which stores data in memory.
  MemoryByteStore | ByteStore implementation which stores bytes in a buffer in memory.
  MonitorStoragePolicy | Wrapper storage policy which derives its functionality from an existing ("base") policy, but additionally passes row storage events to a supplied TableSink.
  NioByteStoreAccess | Partial implementation of ByteStoreAccess.
  SidewaysRowStore | RowStore implementation which stores data cell data in a column-oriented fashion, so that members of the same column, rather than of the same row, are stored contiguously on disk.
  StreamColumnStore | ColumnStore implementation which uses a streamed file to store a variable number of fixed-length data items.

## Package uk.ac.starlink.table.storage Description

RowStore implementations. These are used by `StoragePolicy` objects to provide actual temporary storage for table data.