Package uk.ac.starlink.ttools.plot2.data
Class CachedDataStoreFactory
- java.lang.Object
-
- uk.ac.starlink.ttools.plot2.data.CachedDataStoreFactory
-
- All Implemented Interfaces:
DataStoreFactory
public class CachedDataStoreFactory extends java.lang.Object implements DataStoreFactory
DataStoreFactory implementation that reads columns and caches them for later use. The actual storage mechanism is provided by an externally suppliedCachedColumnFactory
.- Since:
- 11 Feb 2013
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description CachedDataStoreFactory(CachedColumnFactory colFact, TupleRunner runner)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataStore
readDataStore(DataSpec[] dataSpecs, DataStore prevStore)
Generates a DataStore capable of supplying the data for a given list of DataSpec objects.
-
-
-
Constructor Detail
-
CachedDataStoreFactory
public CachedDataStoreFactory(CachedColumnFactory colFact, TupleRunner runner)
Constructor.- Parameters:
colFact
- object which provides the storage for caching arrays of typed datarunner
- tuple runner dispensed with DataStores
-
-
Method Detail
-
readDataStore
public DataStore readDataStore(DataSpec[] dataSpecs, DataStore prevStore) throws java.io.IOException, java.lang.InterruptedException
Description copied from interface:DataStoreFactory
Generates a DataStore capable of supplying the data for a given list of DataSpec objects. TheprevStore
argument may optionally supply the result of a previous invocation of this method. The implementation may choose to make use of the internal state of such an instance for efficiency, for instance by re-using data that has already been read.Since the bulk data is managed by the DataStore object, care should be taken about what happens to the DataStore objects supplied to and returned from this method. In particular, code both invoking and implementing this method should usually make sure not to keep a reference to the
prevStore
argument.This method may perform the actual reading, and therefore take time. It is not intended to be invoked on the event dispatch thread.
- Specified by:
readDataStore
in interfaceDataStoreFactory
- Parameters:
dataSpecs
- data specifications; some elements may be nullprevStore
- previously obtained DataStore, or null- Returns:
- new data store
- Throws:
java.io.IOException
java.lang.InterruptedException
-
-