|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IProgressListener
This interface is closely modeled after
IProgressMonitor
. The latter has not been
used to avoid a dependency. It 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
cancellation 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).
Nested Class Summary | |
---|---|
static class |
IProgressListener.OperationCanceledException
Helper exception class which can be used to exit an operation via an exception if the operation itself has been canceled. |
static class |
IProgressListener.Severity
Defines the severities possible for a user message. |
Field Summary | |
---|---|
static int |
UNKNOWN_TOTAL_WORK
Constant which may be used to indicate that the total amount of work units is not known. |
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. |
boolean |
isCanceled()
Returns whether cancelation of current operation has been requested. |
void |
sendUserMessage(IProgressListener.Severity severity,
String message,
Throwable exception)
Sends a message to the user. |
void |
setCanceled(boolean value)
Sets the cancel state 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. |
Field Detail |
---|
static final int UNKNOWN_TOTAL_WORK
Method Detail |
---|
void beginTask(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 subTask(String name)
name
- the name (or description) of the subtaskvoid worked(int work)
work
- the number of work units just completedvoid sendUserMessage(IProgressListener.Severity severity, String message, Throwable exception)
severity
- Severity as defined in IProgressListener.Severity
message
- The message localized to the current locale.exception
- The relevant low-level exception, or null
if
none.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |