Interface ProgressIndicator

  • All Known Implementing Classes:
    NullProgressIndicator, RangeModelProgressIndicator, TextProgressIndicator

    public interface ProgressIndicator
    Callback interface for indicating how an algorithm is progressing. An instance can be passed to a time-consuming routine which will make periodic calls on it as the work progresses.

    A user of an instance of this interface can be expected to call all the methods it defines from the same thread, i.e. implementations do not need to be thread-safe. However no requirements should be placed on what thread this is; in particular it must be OK to call it from threads other than the AWT event dispatch thread.

    Since:
    24 Mar 2004
    Author:
    Mark Taylor (Starlink)
    • Method Detail

      • startStage

        void startStage​(java.lang.String stage)
        Indicates that a number of setLevel(double) calls may follow, followed by a endStage() call.
        Parameters:
        stage - name/description of the processing stage
      • setLevel

        void setLevel​(double level)
               throws java.lang.InterruptedException
        Specifies that the work of the most recently-started stage is a certain proportion complete. Calls to this method must take place between paired calls to startStage(java.lang.String) and endStage(), preferably with non-decreasing values of level.

        The method may throw an InterruptedException as a message to the caller that the work should be interrupted. A caller which receives such an exception should stop using resources and tidy up as soon as is convenient.

        Parameters:
        level - value between 0. and 1. indicating amount of completion
        Throws:
        java.lang.InterruptedException - as a message to the caller that the work is no longer required Is this abuse of InterruptedException??
      • logMessage

        void logMessage​(java.lang.String msg)
        Registers a comment about the progress of the algorithm. This should not be called between calls to startStage(java.lang.String) and endStage().
        Parameters:
        msg - message