uk.ac.starlink.topcat.plot2
Class CountDataStore

java.lang.Object
  extended by uk.ac.starlink.topcat.plot2.CountDataStore
All Implemented Interfaces:
uk.ac.starlink.ttools.plot2.data.DataStore

public class CountDataStore
extends Object
implements uk.ac.starlink.ttools.plot2.data.DataStore

Wrapper data store implementation used only for counting the number of tuples requested from it.

The intention is that an operation involving data access can be run using this data store to find out how many tuples in total would be read by the operation. In order to run quickly however, this implementation does not supply all those rows, it truncates the number of tuples dispensed per sequence to a given (small) number. When the operation is complete, the getTupleCount() method can be called.

Since:
15 Nov 2013
Author:
Mark Taylor

Constructor Summary
CountDataStore(uk.ac.starlink.ttools.plot2.data.DataStore base, int maxCount)
          Constructor.
 
Method Summary
 long getTupleCount()
          Returns the total number of tuples represented by the tuple sequences dispensed by this data store since construction time.
 uk.ac.starlink.ttools.plot2.data.TupleSequence getTupleSequence(uk.ac.starlink.ttools.plot2.data.DataSpec spec)
           
 boolean hasData(uk.ac.starlink.ttools.plot2.data.DataSpec spec)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CountDataStore

public CountDataStore(uk.ac.starlink.ttools.plot2.data.DataStore base,
                      int maxCount)
Constructor.

Parameters:
base - base data store to which most operations are delegated
maxCount - maximum number of tuples actually dispensed from tuplesequences acquired from this store
Method Detail

hasData

public boolean hasData(uk.ac.starlink.ttools.plot2.data.DataSpec spec)
Specified by:
hasData in interface uk.ac.starlink.ttools.plot2.data.DataStore

getTupleSequence

public uk.ac.starlink.ttools.plot2.data.TupleSequence getTupleSequence(uk.ac.starlink.ttools.plot2.data.DataSpec spec)
Specified by:
getTupleSequence in interface uk.ac.starlink.ttools.plot2.data.DataStore

getTupleCount

public long getTupleCount()
Returns the total number of tuples represented by the tuple sequences dispensed by this data store since construction time.

Returns:
total tuple count for non-truncated tuple sequences dispensed to date, or -1 if not known


Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.