Package uk.ac.starlink.table.storage
Class MonitorStoragePolicy
java.lang.Object
uk.ac.starlink.table.StoragePolicy
uk.ac.starlink.table.storage.MonitorStoragePolicy
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
- Author:
- Mark Taylor
- See Also:
-
Field Summary
Fields inherited from class uk.ac.starlink.table.StoragePolicy
ADAPTIVE, DISCARD, PREF_PROPERTY, PREFER_DISK, PREFER_MEMORY, SIDEWAYS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the base storage policy.void
Cancels this storage policy for table row writes.boolean
Indicates whetherinterrupt()
has been called on this object.Returns a new ByteStore object which can be used to provide a destination for general purpose data storage.Creates a new RowStore and primes it by callingTableSink.acceptMetadata(uk.ac.starlink.table.StarTable)
on it.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
-
Constructor Details
-
MonitorStoragePolicy
Constructor.- Parameters:
base
- base policysink
- recipient for row storage events associated with this policy
-
-
Method Details
-
interrupt
public void interrupt()Cancels this storage policy for table row writes. Any attempt to callacceptRow
on a RowStore obtained from this policy after calling this will result in anInterruptedIOException
. -
isInterrupted
public boolean isInterrupted()Indicates whetherinterrupt()
has been called on this object.- Returns:
- true iff interrupted
-
getBasePolicy
Returns the base storage policy.- Returns:
- base policy
-
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 classStoragePolicy
- Returns:
- a RowStore object
-
makeConfiguredRowStore
Description copied from class:StoragePolicy
Creates a new RowStore and primes it by callingTableSink.acceptMetadata(uk.ac.starlink.table.StarTable)
on it.- Specified by:
makeConfiguredRowStore
in classStoragePolicy
- 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
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 classStoragePolicy
- Returns:
- new byte store
-