Class ByteStoreStoragePolicy

java.lang.Object
uk.ac.starlink.table.StoragePolicy
uk.ac.starlink.table.storage.ByteStoreStoragePolicy

public abstract class ByteStoreStoragePolicy extends StoragePolicy
Abstract StoragePolicy implementation based on a ByteStore. The attemptMakeByteStore() method must be implemented, and the other methods are implemented in terms of that.
Since:
5 Nov 2009
Author:
Mark Taylor
  • Constructor Details

    • ByteStoreStoragePolicy

      public ByteStoreStoragePolicy()
  • Method Details

    • attemptMakeByteStore

      protected abstract ByteStore attemptMakeByteStore() throws IOException
      Returns a ByteStore object to hold data. If an exception is thrown, this implementation will fall back to memory-based techniques.
      Returns:
      new byte store
      Throws:
      IOException
    • makeByteStore

      public ByteStore makeByteStore()
      Description copied from class: StoragePolicy
      Returns a new ByteStore object which can be used to provide a destination for general purpose data storage.
      Specified by:
      makeByteStore in class StoragePolicy
      Returns:
      new byte store
    • makeRowStore

      public RowStore makeRowStore()
      Description copied from class: StoragePolicy
      Returns a new RowStore object which can be used to provide a destination for random-access table storage.
      Specified by:
      makeRowStore in class StoragePolicy
      Returns:
      a RowStore object
    • makeConfiguredRowStore

      public RowStore makeConfiguredRowStore(StarTable meta)
      Description copied from class: StoragePolicy
      Creates a new RowStore and primes it by calling TableSink.acceptMetadata(uk.ac.starlink.table.StarTable) on it.
      Specified by:
      makeConfiguredRowStore in class StoragePolicy
      Parameters:
      meta - template giving the metadata which describes the rows that will have to be stored
      Returns:
      a RowStore on which acceptMetadata(meta) has been called