org.eclipse.jgit.lib
Class BatchingProgressMonitor

java.lang.Object
  extended by org.eclipse.jgit.lib.BatchingProgressMonitor
All Implemented Interfaces:
ProgressMonitor
Direct Known Subclasses:
TextProgressMonitor

public abstract class BatchingProgressMonitor
extends Object
implements ProgressMonitor

ProgressMonitor that batches update events.


Field Summary
 
Fields inherited from interface org.eclipse.jgit.lib.ProgressMonitor
UNKNOWN
 
Constructor Summary
BatchingProgressMonitor()
           
 
Method Summary
 void beginTask(String title, int work)
          Begin processing a single task.
 void endTask()
          Finish the current task, so the next can begin.
 boolean isCancelled()
          Check for user task cancellation.
protected abstract  void onEndTask(String taskName, int workCurr)
          Finish the progress monitor when the total wasn't known in advance.
protected abstract  void onEndTask(String taskName, int workCurr, int workTotal, int percentDone)
          Finish the progress monitor when the total is known in advance.
protected abstract  void onUpdate(String taskName, int workCurr)
          Update the progress monitor if the total work isn't known,
protected abstract  void onUpdate(String taskName, int workCurr, int workTotal, int percentDone)
          Update the progress monitor when the total is known in advance.
 void setDelayStart(long time, TimeUnit unit)
          Set an optional delay before the first output.
 void start(int totalTasks)
          Advise the monitor of the total number of subtasks.
 void update(int completed)
          Denote that some work units have been completed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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)
Description copied from interface: ProgressMonitor
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)
Description copied from interface: ProgressMonitor
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)
Description copied from interface: ProgressMonitor
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()
Description copied from interface: ProgressMonitor
Finish the current task, so the next can begin.

Specified by:
endTask in interface ProgressMonitor

isCancelled

public boolean isCancelled()
Description copied from interface: ProgressMonitor
Check for user task cancellation.

Specified by:
isCancelled in interface ProgressMonitor
Returns:
true if the user asked the process to stop working.

onUpdate

protected abstract void onUpdate(String taskName,
                                 int workCurr)
Update the progress monitor if the total work isn't known,

Parameters:
taskName - name of the task.
workCurr - number of units already completed.

onEndTask

protected abstract void onEndTask(String taskName,
                                  int workCurr)
Finish the progress monitor when the total wasn't known in advance.

Parameters:
taskName - name of the task.
workCurr - total number of units processed.

onUpdate

protected abstract void onUpdate(String taskName,
                                 int workCurr,
                                 int workTotal,
                                 int percentDone)
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.

onEndTask

protected abstract void onEndTask(String taskName,
                                  int workCurr,
                                  int workTotal,
                                  int percentDone)
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.


Copyright © 2012. All Rights Reserved.