Class BatchingProgressMonitor

    • Constructor Detail

      • BatchingProgressMonitor

        public BatchingProgressMonitor()
    • Method Detail

      • setDelayStart

        public void setDelayStart​(long time,
                                  TimeUnit unit)
        Set an optional delay before the first output.
        Parameters:
        time - how long to wait before output. If 0 output begins on the first update(int) call.
        unit - time unit of time.
      • start

        public void start​(int totalTasks)
        Advise the monitor of the total number of subtasks.

        This should be invoked at most once per progress monitor interface.

        Specified by:
        start in interface ProgressMonitor
        Parameters:
        totalTasks - the total number of tasks the caller will need to complete their processing.
      • beginTask

        public void beginTask​(String title,
                              int work)
        Begin processing a single task.
        Specified by:
        beginTask in interface ProgressMonitor
        Parameters:
        title - title to describe the task. Callers should publish these as stable string constants that implementations could match against for translation support.
        work - total number of work units the application will perform; ProgressMonitor.UNKNOWN if it cannot be predicted in advance.
      • update

        public void update​(int completed)
        Denote that some work units have been completed.

        This is an incremental update; if invoked once per work unit the correct value for our argument is 1, to indicate a single unit of work has been finished by the caller.

        Specified by:
        update in interface ProgressMonitor
        Parameters:
        completed - the number of work units completed since the last call.
      • endTask

        public void endTask()
        Finish the current task, so the next can begin.
        Specified by:
        endTask in interface ProgressMonitor
      • isCancelled

        public boolean isCancelled()
        Check for user task cancellation.
        Specified by:
        isCancelled in interface ProgressMonitor
        Returns:
        true if the user asked the process to stop working.
      • showDuration

        public void showDuration​(boolean enabled)
        Description copied from interface: ProgressMonitor
        Set whether the monitor should show elapsed time per task
        Specified by:
        showDuration in interface ProgressMonitor
        Parameters:
        enabled - whether to show elapsed time per task
      • onUpdate

        protected abstract void onUpdate​(String taskName,
                                         int workCurr,
                                         Duration duration)
        Update the progress monitor if the total work isn't known,
        Parameters:
        taskName - name of the task.
        workCurr - number of units already completed.
        duration - how long this task runs
        Since:
        6.5
      • onEndTask

        protected abstract void onEndTask​(String taskName,
                                          int workCurr,
                                          Duration duration)
        Finish the progress monitor when the total wasn't known in advance.
        Parameters:
        taskName - name of the task.
        workCurr - total number of units processed.
        duration - how long this task runs
        Since:
        6.5
      • onUpdate

        protected abstract void onUpdate​(String taskName,
                                         int workCurr,
                                         int workTotal,
                                         int percentDone,
                                         Duration duration)
        Update the progress monitor when the total is known in advance.
        Parameters:
        taskName - name of the task.
        workCurr - number of units already completed.
        workTotal - estimated number of units to process.
        percentDone - workCurr * 100 / workTotal.
        duration - how long this task runs
        Since:
        6.5
      • onEndTask

        protected abstract void onEndTask​(String taskName,
                                          int workCurr,
                                          int workTotal,
                                          int percentDone,
                                          Duration duration)
        Finish the progress monitor when the total is known in advance.
        Parameters:
        taskName - name of the task.
        workCurr - total number of units processed.
        workTotal - estimated number of units to process.
        percentDone - workCurr * 100 / workTotal.
        duration - duration of the task
        Since:
        6.5
      • appendDuration

        protected void appendDuration​(StringBuilder s,
                                      Duration duration)
        Append formatted duration if system property or environment variable GIT_TRACE_PERFORMANCE is set to "true". If both are defined the system property takes precedence.
        Parameters:
        s - StringBuilder to append the formatted duration to
        duration - duration to format
        Since:
        6.5