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.

Implementations must be thread-safe; calls to setLevel(double) may come from multiple different threads.

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

    • startStage

      void startStage(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 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:
      InterruptedException - as a message to the caller that the work is no longer required Is this abuse of InterruptedException??
    • endStage

      void endStage()
      Indicates that no more setLevel(double) calls will be made until the next startStage(java.lang.String).
    • logMessage

      void logMessage(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