uk.ac.starlink.table.storage
Class MonitorStoragePolicy

java.lang.Object
  extended by uk.ac.starlink.table.StoragePolicy
      extended by uk.ac.starlink.table.storage.MonitorStoragePolicy

public class MonitorStoragePolicy
extends StoragePolicy

Wrapper storage policy which derives its functionality from an existing ("base") policy, but additionally passes row storage events to a supplied TableSink.

Since:
24 Aug 2010
See Also:
ProgressBarTableSink

Field Summary
 
Fields inherited from class uk.ac.starlink.table.StoragePolicy
ADAPTIVE, DISCARD, PREF_PROPERTY, PREFER_DISK, PREFER_MEMORY, SIDEWAYS
 
Constructor Summary
MonitorStoragePolicy(StoragePolicy base, TableSink sink)
          Constructor.
 
Method Summary
 StoragePolicy getBasePolicy()
          Returns the base storage policy.
 void interrupt()
          Cancels this storage policy for table row writes.
 boolean isInterrupted()
          Indicates whether interrupt() has been called on this object.
 ByteStore makeByteStore()
          Returns a new ByteStore object which can be used to provide a destination for general purpose data storage.
 RowStore makeConfiguredRowStore(StarTable meta)
          Creates a new RowStore and primes it by calling TableSink.acceptMetadata(uk.ac.starlink.table.StarTable) on it.
 RowStore makeRowStore()
          Returns a new RowStore object which can be used to provide a destination for random-access table storage.
 
Methods inherited from class uk.ac.starlink.table.StoragePolicy
copyTable, getDefaultPolicy, randomTable, setDefaultPolicy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MonitorStoragePolicy

public MonitorStoragePolicy(StoragePolicy base,
                            TableSink sink)
Constructor.

Parameters:
base - base policy
sink - recipient for row storage events associated with this policy
Method Detail

interrupt

public void interrupt()
Cancels this storage policy for table row writes. Any attempt to call acceptRow on a RowStore obtained from this policy after calling this will result in an InterruptedIOException.


isInterrupted

public boolean isInterrupted()
Indicates whether interrupt() has been called on this object.

Returns:
true iff interrupted

getBasePolicy

public StoragePolicy getBasePolicy()
Returns the base storage policy.

Returns:
base policy

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

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

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.