Class ProgressTracker

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    public class ProgressTracker
    extends java.lang.Object
    implements java.lang.AutoCloseable
    Wraps a ProgressIndicator for sequential usage. This takes care of messaging a progress indicator periodically given that the number of iterations is known up front.

    This object should not be used from multiple threads concurrently.

    Since:
    21 Sep 2022
    Author:
    Mark Taylor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Signals that the iteration is finished.
      void nextProgress()
      Registers the next iteration.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProgressTracker

        public ProgressTracker​(ProgressIndicator progger,
                               long count,
                               java.lang.String txt)
        Constructor.
        Parameters:
        progger - progress indicator
        count - number of invocations of progressNext expected
        txt - stage title to pass to indicator
    • Method Detail

      • nextProgress

        public void nextProgress()
                          throws java.lang.InterruptedException
        Registers the next iteration. This method is cheap.
        Throws:
        java.lang.InterruptedException
      • close

        public void close()
        Signals that the iteration is finished. Must be called to indicate that this tracker will no longer be used.
        Specified by:
        close in interface java.lang.AutoCloseable