uk.ac.starlink.ttools.filter
Class CacheFilter

java.lang.Object
  extended by uk.ac.starlink.ttools.filter.BasicFilter
      extended by uk.ac.starlink.ttools.filter.CacheFilter
All Implemented Interfaces:
ProcessingFilter, ProcessingStep

public class CacheFilter
extends BasicFilter
implements ProcessingStep

Processing step which caches the current table in a disk or memory cache (according to the default StoragePolicy). This is useful for efficiency reasons if downstream steps are going to make random-access or multiple use of an expensive step.

Since:
8 Mar 2005
Author:
Mark Taylor (Starlink)

Constructor Summary
CacheFilter()
           
 
Method Summary
 ProcessingStep createStep(Iterator argIt)
          Creates a new ProcessingStep based on a sequence of command-line arguments.
protected  String[] getDescriptionLines()
           
 uk.ac.starlink.table.StarTable wrap(uk.ac.starlink.table.StarTable baseTable)
          Performs a table filtering step.
 
Methods inherited from class uk.ac.starlink.ttools.filter.BasicFilter
explainSyntax, getDescription, getName, getUsage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CacheFilter

public CacheFilter()
Method Detail

getDescriptionLines

protected String[] getDescriptionLines()
Specified by:
getDescriptionLines in class BasicFilter

createStep

public ProcessingStep createStep(Iterator argIt)
Description copied from interface: ProcessingFilter
Creates a new ProcessingStep based on a sequence of command-line arguments. The argIt argument is an iterator over the command-line arguments positioned just before any arguments intended for this filter. If legal, any that can be comprehended by this filter should be read (iterated over) and removed, and a ProcessingStep should accordingly be returned. In the case of a successful return, it is essential that no arguments other than the ones intended for this filter are read from the iterator.

If the argument list is badly-formed as far as this filter is concerned, an ArgException should be thrown. If its usageFrament is blank, it will be filled in later using this mode's usage text.

Specified by:
createStep in interface ProcessingFilter
Parameters:
argIt - iterator over command-line arguments positioned at the first one

wrap

public uk.ac.starlink.table.StarTable wrap(uk.ac.starlink.table.StarTable baseTable)
                                    throws IOException
Description copied from interface: ProcessingStep
Performs a table filtering step.

Specified by:
wrap in interface ProcessingStep
Parameters:
baseTable - input table
Returns:
output table
Throws:
IOException


Copyright © 2009 Central Laboratory of the Research Councils. All Rights Reserved.