Class 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
    Author:
    Mark Taylor (Starlink)
    • Constructor Detail

      • ProgressRowSequence

        public ProgressRowSequence​(StarTable table,
                                   ProgressIndicator indicator,
                                   java.lang.String stage)
                            throws java.io.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:
        java.io.IOException
    • Method Detail

      • nextProgress

        public boolean nextProgress()
                             throws java.io.IOException,
                                    java.lang.InterruptedException
        Invokes next() and also updates the progress indicator.
        Throws:
        java.io.IOException
        java.lang.InterruptedException
      • next

        public boolean next()
                     throws java.io.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:
        java.io.IOException - if there is some error
      • close

        public void close()
                   throws java.io.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:
        java.io.IOException