org.eclipse.core.runtime
Interface IProgressMonitor
-
All Known Subinterfaces:
-
IProgressMonitorWithBlocking
-
All Known Implementing Classes:
-
InstallMonitor,
NullProgressMonitor,
ProgressMonitorPart,
ProgressMonitorWrapper,
SubMonitor,
SubProgressMonitor
-
public interface IProgressMonitor
The IProgressMonitor
interface is implemented
by objects that monitor the progress of an activity; the methods
in this interface are invoked by code that performs the activity.
All activity is broken down into a linear sequence of tasks against
which progress is reported. When a task begins, a beginTask(String, int)
notification is reported, followed by any number and mixture of
progress reports (worked()
) and subtask notifications
(subTask(String)
). When the task is eventually completed, a
done()
notification is reported. After the done()
notification, the progress monitor cannot be reused; i.e.,
beginTask(String, int)
cannot be called again after the call to
done()
.
A request to cancel an operation can be signaled using the
setCanceled
method. Operations taking a progress
monitor are expected to poll the monitor (using isCanceled
)
periodically and abort at their earliest convenience. Operation can however
choose to ignore cancelation requests.
Since notification is synchronous with the activity itself, the listener should
provide a fast and robust implementation. If the handling of notifications would
involve blocking operations, or operations which might throw uncaught exceptions,
the notifications should be queued, and the actual processing deferred (or perhaps
delegated to a separate thread).
This interface can be used without OSGi running.
Clients may implement this interface.
Field Summary
|
static int
|
UNKNOWN
Constant indicating an unknown amount of work. |
Method Summary
|
void
|
beginTask
(
String name,
int totalWork)
Notifies that the main task is beginning. |
void
|
done
()
Notifies that the work is done; that is, either the main task is completed
or the user canceled it. |
void
|
internalWorked
(double work)
Internal method to handle scaling correctly. |
boolean
|
isCanceled
()
Returns whether cancelation of current operation has been requested. |
void
|
setCanceled
(boolean value)
Sets the cancel state to the given value. |
void
|
setTaskName
(
String name)
Sets the task name to the given value. |
void
|
subTask
(
String name)
Notifies that a subtask of the main task is beginning. |
void
|
worked
(int work)
Notifies that a given number of work unit of the main task
has been completed. |
UNKNOWN
static final int UNKNOWN
- Constant indicating an unknown amount of work.
-
See Also:
-
Constant Field Values
beginTask
void beginTask(
String name,
int totalWork)
- Notifies that the main task is beginning. This must only be called once
on a given progress monitor instance.
-
-
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. If the value is UNKNOWN
the implementation is free to indicate progress in a way which
doesn't require the total number of work units in advance.
done
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).
-
internalWorked
void internalWorked(double work)
- Internal method to handle scaling correctly. This method
must not be called by a client. Clients should
always use the method worked(int).
-
-
Parameters:
-
work
- the amount of work done
isCanceled
boolean isCanceled()
- Returns whether cancelation of current operation has been requested.
Long-running operations should poll to see if cancelation
has been requested.
-
-
Returns:
-
true
if cancellation has been requested,
and false
otherwise -
See Also:
-
setCanceled(boolean)
setCanceled
void setCanceled(boolean value)
- Sets the cancel state to the given value.
-
-
Parameters:
-
value
- true
indicates that cancelation has
been requested (but not necessarily acknowledged);
false
clears this flag -
See Also:
-
isCanceled()
setTaskName
void setTaskName(
String name)
- 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.
-
-
Parameters:
-
name
- the name (or description) of the main task -
See Also:
-
beginTask(java.lang.String, int)
subTask
void subTask(
String name)
- Notifies that a subtask of the main task is beginning.
Subtasks are optional; the main task might not have subtasks.
-
-
Parameters:
-
name
- the name (or description) of the subtask
worked
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.
-
-
Parameters:
-
work
- a non-negative number of work units just completed
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.