Class ProgressSpinner

java.lang.Object
org.eclipse.jgit.transport.ProgressSpinner

public class ProgressSpinner extends Object
A simple spinner connected to an OutputStream.

This is class is not thread-safe. The update method may only be used from a single thread. Updates are sent only as frequently as update() is invoked by the caller, and are capped at no more than 2 times per second by requiring at least 500 milliseconds between updates.

Since:
4.2
  • Field Details

    • MIN_REFRESH_MILLIS

      private static final long MIN_REFRESH_MILLIS
      See Also:
    • STATES

      private static final char[] STATES
    • out

      private final OutputStream out
    • msg

      private String msg
    • state

      private int state
    • write

      private boolean write
    • shown

      private boolean shown
    • nextUpdateMillis

      private long nextUpdateMillis
  • Constructor Details

    • ProgressSpinner

      public ProgressSpinner(OutputStream out)
      Initialize a new spinner.
      Parameters:
      out - where to send output to.
  • Method Details

    • beginTask

      public void beginTask(String title, long delay, TimeUnit delayUnits)
      Begin a time consuming task.
      Parameters:
      title - description of the task, suitable for human viewing.
      delay - delay to wait before displaying anything at all.
      delayUnits - unit for delay.
    • update

      public void update()
      Update the spinner if it is showing.
    • send

      private void send(long now)
    • endTask

      public void endTask(String result)
      Denote the current task completed.
      Parameters:
      result - text to print after the task's title "$title ... $result".
    • write

      private void write(String s)