uk.ac.starlink.table.join
Class ProgressRowSequence

java.lang.Object
  extended by uk.ac.starlink.table.WrapperRowSequence
      extended by uk.ac.starlink.table.join.ProgressRowSequence
All Implemented Interfaces:
RowSequence

public class ProgressRowSequence
extends WrapperRowSequence

RowSequence which logs progress to a ProgressIndicator. Has to contain a couple methods extra to the RowSequence interface to make it behave properly.

Since:
6 Aug 2004

Field Summary
 
Fields inherited from class uk.ac.starlink.table.WrapperRowSequence
baseSeq
 
Constructor Summary
ProgressRowSequence(StarTable table, ProgressIndicator indicator, String stage)
          Constructs a new ProgressRowSequence.
 
Method Summary
 void close()
          Indicates that progress is at an end.
 boolean next()
          Attempts to advances the current row to the next one.
 boolean nextProgress()
          Invokes next() and also updates the progress indicator.
 
Methods inherited from class uk.ac.starlink.table.WrapperRowSequence
getCell, getRow, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProgressRowSequence

public ProgressRowSequence(StarTable table,
                           ProgressIndicator indicator,
                           String stage)
                    throws IOException
Constructs a new ProgressRowSequence.

Parameters:
table - table to get the base row sequence from
indicator - indicator to be informed about progress
stage - string describing this stage of the process
Throws:
IOException
Method Detail

nextProgress

public boolean nextProgress()
                     throws IOException,
                            InterruptedException
Invokes next() and also updates the progress indicator.

Throws:
IOException
InterruptedException

next

public boolean next()
             throws IOException
Description copied from interface: RowSequence
Attempts to advances the current row to the next one. If true is returned the attempt has been successful, and if false is returned there are no more rows in this sequence. Since the initial position of a RowSequence is before the first row, this method must be called before current row data can be accessed using the RowSequence.getCell(int) or RowSequence.getRow() methods.

Specified by:
next in interface RowSequence
Overrides:
next in class WrapperRowSequence
Returns:
true iff this sequence has been advanced to the next row
Throws:
IOException - if there is some error

close

public void close()
           throws IOException
Indicates that progress is at an end. Must be called to end the progress indicator's stage.

Specified by:
close in interface RowSequence
Overrides:
close in class WrapperRowSequence
Throws:
IOException

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.