uk.ac.starlink.table.storage
Class DiskRowStore

java.lang.Object
  extended by uk.ac.starlink.table.storage.ByteStoreRowStore
      extended by 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
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