Class SimpleDataStoreFactory

java.lang.Object
uk.ac.starlink.ttools.plot2.data.SimpleDataStoreFactory
All Implemented Interfaces:
DataStore, DataStoreFactory

public class SimpleDataStoreFactory extends Object implements DataStoreFactory, DataStore
DataStoreFactory implementation that does no caching. It reads the data as required every time. This has low memory requirements. It may also be faster to use for one-pass plots, but probably not if the same column is used for multiple purposes.
Since:
11 Feb 2013
Author:
Mark Taylor
  • Constructor Details

    • SimpleDataStoreFactory

      public SimpleDataStoreFactory(TupleRunner runner)
      Constructor.
      Parameters:
      runner - tuple runner dispensed with DataStores
  • Method Details

    • hasData

      public boolean hasData(DataSpec spec)
      Description copied from interface: DataStore
      Indicates whether this store has the data described by a given DataSpec.
      Specified by:
      hasData in interface DataStore
      Parameters:
      spec - plot data specification object
    • readDataStore

      public DataStore readDataStore(DataSpec[] specs, DataStore prevStore)
      Executes instantly and returns this object.
      Specified by:
      readDataStore in interface DataStoreFactory
      Parameters:
      specs - data specifications; some elements may be null
      prevStore - previously obtained DataStore, or null
      Returns:
      new data store
    • getTupleSequence

      public TupleSequence getTupleSequence(DataSpec spec)
      Description copied from interface: DataStore
      Returns the data described by a given DataSpec as a sequence of tuples. Must only be called if DataStore.hasData(uk.ac.starlink.ttools.plot2.data.DataSpec) returns true for the given DataSpec; if not, behaviour is undefined.
      Specified by:
      getTupleSequence in interface DataStore
      Parameters:
      spec - plot data specification object
      Returns:
      sequence of values which can be used to perform a plot
    • getTupleRunner

      public TupleRunner getTupleRunner()
      Description copied from interface: DataStore
      Returns an object that manages iteration over tuples. Where possible, the returned TupleRunner should be used for iteration when using this DataStore, since it contains the chosen policy for parallel execution. If only sequential processing is supported however, TupleSequences acquired from this store can be used directly.
      Specified by:
      getTupleRunner in interface DataStore
      Returns:
      tuple runner