public interface IProgressMonitor
extends java.io.Serializable
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.
Modifier and Type | Field and Description |
---|---|
static int |
UNKNOWN
Constant indicating an unknown amount of work.
|
Modifier and Type | Method and Description |
---|---|
void |
beginTask(java.lang.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.
|
java.io.Serializable |
getFeedback()
Returns the most recently set feedback object
|
boolean |
getIsWaitingForFeedback()
Boolean flag to indicate whether the monitor is
waiting for feedback
|
java.lang.String |
getOwner()
Returns the user who started the monitored job
|
boolean |
hasFeedbackWaitTimedOut() |
void |
internalWorked(double work)
Internal method to handle scaling correctly.
|
void |
interrupt() |
boolean |
isCanceled()
Returns whether cancelation of current operation has been requested.
|
void |
setCanceled(boolean value)
Sets the cancel state to the given value.
|
void |
setFeedback(java.io.Serializable feedback)
Sets the feedback object the monitor is currently waiting for.
|
void |
setOwner(java.lang.String owner)
Sets the user who started the monitored job
|
void |
setTaskName(java.lang.String name)
Sets the task name to the given value.
|
void |
subTask(java.lang.String name)
Notifies that a subtask of the main task is beginning.
|
void |
waitForFeedback()
Waits for external feedback during the lifetime of the
operation
|
void |
waitForFeedback(long feedbackWaitTimeout)
Waits for external feedback during the lifetime of the
operation with given timeout
|
void |
warning(java.lang.String message)
Notifies about a warning
|
void |
warning(java.lang.String message,
java.lang.Throwable throwable)
Notifies about a warning that was caused by an exception.
|
void |
worked(int work)
Notifies that a given number of work unit of the main task
has been completed.
|
static final int UNKNOWN
void beginTask(java.lang.String name, int totalWork)
name
- the name (or description) of the main tasktotalWork
- 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.void done()
boolean isCanceled()
true
if cancellation has been requested,
and false
otherwisesetCanceled(boolean)
void setCanceled(boolean value)
value
- true
indicates that cancelation has
been requested (but not necessarily acknowledged);
false
clears this flagisCanceled()
void setTaskName(java.lang.String name)
name
- the name (or description) of the main taskbeginTask(java.lang.String, int)
void subTask(java.lang.String name)
name
- the name (or description) of the subtaskvoid worked(int work)
work
- a non-negative number of work units just completedvoid internalWorked(double work)
work
- the amount of work donevoid warning(java.lang.String message)
message
- void warning(java.lang.String message, java.lang.Throwable throwable)
message
- throwable
- void waitForFeedback()
void waitForFeedback(long feedbackWaitTimeout)
feedbackWaitTimeout
- time (in ms to wait for feedback)boolean hasFeedbackWaitTimedOut()
void setFeedback(java.io.Serializable feedback)
feedback
- java.io.Serializable getFeedback()
boolean getIsWaitingForFeedback()
java.lang.String getOwner()
void setOwner(java.lang.String owner)
owner
- the user who started the monitored jobvoid interrupt()
Copyright © 2007-2020 EDIT. All Rights Reserved.