uk.ac.starlink.table.storage

## Class DiskRowStore

- java.lang.Object
- - uk.ac.starlink.table.storage.ByteStoreRowStore
  - - uk.ac.starlink.table.storage.DiskRowStore

- All Implemented Interfaces:
    RowStore, TableSink

      public class DiskRowStore
      extends ByteStoreRowStore

  Implementation of RowStore which stores data on disk. The temporary file is deleted by the finalizer (if it runs) or failing that at JVM exit. Since there's no guarantee when or if the finalizer will run even after this object is a candidate for garbage collection, this does raise the possibility that large numbers of potentially large temporary files will accumulate during JVM operation. It depends on your GC.
  Since:
    3 Aug 2004

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DiskRowStore()` Constructs a new DiskRowStore which uses a temporary file as backing store.
    `DiskRowStore(java.io.File file)` Constructs a new DiskRowStore which uses the given file as a backing store.

  - ### Method Summary

    - ### Methods inherited from class uk.ac.starlink.table.storage.ByteStoreRowStore

      `acceptMetadata, acceptRow, endRows, finalize, getByteStore, getStarTable`

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

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

- - ### Constructor Detail

    - #### DiskRowStore

          public DiskRowStore(java.io.File file)
                       throws java.io.IOException

      Constructs a new DiskRowStore which uses the given file as a backing store. Nothing is done to mark this file as temporary. Since the storage format is not public, specifying the file like this isn't very useful except for test purposes.
      Parameters:
        `file` - location of the backing file which will be used
      Throws:
        `java.io.IOException` - if there is some I/O-related problem with opening the file
        `java.lang.SecurityException` - if the current security context does not allow writing to a temporary file

    - #### DiskRowStore

          public DiskRowStore()
                       throws java.io.IOException

      Constructs a new DiskRowStore which uses a temporary file as backing store. The temporary file will be written to the default temporary directory, given by the value of the `java.io.tmpdir` system property.
      Throws:
        `java.io.IOException` - if there is some I/O-related problem with opening the file
        `java.lang.SecurityException` - if the current security context does not allow writing to a temporary file