public interface ProgressMonitor
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.
Clients may implement this interface.
EvaluationContext.getProgressMonitor()
Modifier and Type | Field and Description |
---|---|
static int |
UNKNOWN
Constant indicating an unknown amount of work.
|
Modifier and Type | Method and Description |
---|---|
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.
|
static final int UNKNOWN
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()
void internalWorked(double work)
worked(int)
.work
- the amount of work doneboolean 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(String name)
name
- the name (or description) of the main taskbeginTask(java.lang.String, int)
void subTask(String name)
name
- the name (or description) of the subtaskvoid worked(int work)
work
- the number of work units just completed