Package com.iizix
Class PropProgressMonitor
java.lang.Object
com.iizix.PropProgressMonitor
- All Implemented Interfaces:
IPropProgressMonitor
The progress monitor implementation.
- Author:
- Christopher Mindus
Field Summary
Fields inherited from interface com.iizix.IPropProgressMonitor
NULL
Constructor Summary
Method Summary
Modifier and TypeMethodDescriptionvoid
Notifies that the main task is beginning.void
cancel()
Cancels the progress monitor.void
done()
Notifies that the work is done; that is, either the main task is completed or the user canceled it.double
Gets the current percentage done.Gets the verbose progress from the main and all subtasks in %.Gets the org.eclipse.core.runtime.IProgressMonitor instance.Gets the submonitors that have been created for this progress monitor.Gets the task name being performed.boolean
Returns whether cancellation of current operation has been requested.newSubMonitor
(int work) Creates a new sub progress monitor taking up a number of work.void
setListener
(Runnable listener) Sets the cancel listener.void
setProgressListener
(Runnable listener) Sets the progress listener.void
setTaskName
(String name) Sets the task name to the given value.void
setWorked
(int worked) Set worked value.void
setWorkRemaining
(int workRemaining) Set worked remaining.void
worked
(int work) Notifies that a given number of work unit of the main task has been completed.
Constructor Details
PropProgressMonitor
public PropProgressMonitor()Constructor.
Method Details
setProgressListener
Sets the progress listener.- Parameters:
listener
- Listener for changes in the progress monitor, null for none.
setListener
Sets the cancel listener.- Parameters:
listener
- Listener for changes in the progress monitor, null for none.
beginTask
Notifies that the main task is beginning. This must only be called once on a given progress monitor instance.- Specified by:
beginTask
in interfaceIPropProgressMonitor
- Parameters:
name
- The name (or description) of the main task.totalWork
- The total number of work units into which the main task is been subdivided. The value must be greater than zero.- Throws:
IllegalArgumentException
- If totalWork is zero or less.NullPointerException
- If name is null.
setTaskName
Sets the task name to the given value. This method is used to restore the task label after a nested operation was executed. Normally there is no need for clients to call this method.- Specified by:
setTaskName
in interfaceIPropProgressMonitor
- Parameters:
name
- the name (or description) of the main task.- See Also:
getProgress
public double getProgress()Gets the current percentage done.- Returns:
- A value between 0 and 1, where 1 indicates completed.
getProgressDescription
Gets the verbose progress from the main and all subtasks in %.- Returns:
- A string formatted as "task (xx%), subtask (yy%)".
getTaskName
Gets the task name being performed.- Returns:
- The task name.
getSubProgressMonitors
Gets the submonitors that have been created for this progress monitor.- Returns:
- An array, never null, of progress monitors.
worked
public void worked(int work) Notifies that a given number of work unit of the main task has been completed. Note that this amount represents an installment, as opposed to a cumulative amount of work done to date.- Specified by:
worked
in interfaceIPropProgressMonitor
- Parameters:
work
- A non-negative number of work units just completed.- Throws:
IllegalArgumentException
- If work is less than zero.
setWorked
public void setWorked(int worked) Set worked value.- Specified by:
setWorked
in interfaceIPropProgressMonitor
- Parameters:
worked
- The work value.
setWorkRemaining
public void setWorkRemaining(int workRemaining) Set worked remaining.- Specified by:
setWorkRemaining
in interfaceIPropProgressMonitor
- Parameters:
workRemaining
- The remaining work value, must be between zero and totalWork.
done
public void done()Notifies that the work is done; that is, either the main task is completed or the user canceled it. This method may be called more than once (implementations should be prepared to handle this case).- Specified by:
done
in interfaceIPropProgressMonitor
isCanceled
public boolean isCanceled()Returns whether cancellation of current operation has been requested. Long-running operations should poll to see if cancellation has been requested.- Specified by:
isCanceled
in interfaceIPropProgressMonitor
- Returns:
true
if cancellation has been requested, andfalse
otherwise.
cancel
public void cancel()Cancels the progress monitor.- Specified by:
cancel
in interfaceIPropProgressMonitor
getProgressMonitor
Gets the org.eclipse.core.runtime.IProgressMonitor instance.- Specified by:
getProgressMonitor
in interfaceIPropProgressMonitor
- Returns:
- Always null.
newSubMonitor
Creates a new sub progress monitor taking up a number of work.- Specified by:
newSubMonitor
in interfaceIPropProgressMonitor
- Parameters:
work
- A non-negative number of work units that the new sub progress monitor will tick off.- Returns:
- A new submonitor.