|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ProgressMonitor
ProgressMonitor
defines a set of methods that are useful for
keeping track of the progress of an operation. This interface also allows
the operation being tracked to be notified if the user wishes to cancel the
operation. Code using this interface to track progress should call
isCancelled()
prior to calling setTaskProgress(long)
.
Implementations of this interface should throw an
IllegalArgumentException
when setTaskProgress(int)
is called after the operation has been cancelled.
Code using the ProgressMonitor
should call started()
before setTaskProgress(long)
is called for the first time.
setTaskProgress()
should not be called after
cancel()
or finished()
has been called. Therefore,
monitored processes should check isCancelled() before setTaskProgress(long)
is called. An
implementation may throw an IllegalArgumentException
if
setTaskProgress(int)
is called before started()
or
after finished()
is called.
A client codes receiving a monitor must do one of two things. It should either call setTaskSize(long), started(), setTaskProgress(long) zero or more times, then finished(); or it should do nothing with the monitor, possibly passing the monitor to a subprocess. This is to ensure that it's easy to see that the monitor lifecycle is properly performed.
TODO: check this, I think it's legal now for a process to ignore cancelled, and the monitor should disable the client's ability to cancel in this case. TODO: what about exceptions and the monitor lifecycle?
Field Summary | |
---|---|
static ProgressMonitor |
NULL
Deprecated. this should not be used. Instead use new NullProgressMonitor(); |
static long |
SIZE_INDETERMINATE
|
Method Summary | |
---|---|
void |
cancel()
Notifies the ProgressMonitor that the task
being monitored should be canceled. |
void |
finished()
Notifies the ProgressMonitor that the task
being monitored has finished. |
java.lang.String |
getLabel()
Return the label string displayed. |
long |
getTaskProgress()
Returns the current progress of the monitored task. |
long |
getTaskSize()
|
boolean |
isCancelled()
Returns true if the operation being tracked
should be cancelled. |
boolean |
isFinished()
true if the process has indicated that it is finished |
boolean |
isStarted()
true if the process has indicated that it has started. |
void |
setAdditionalInfo(java.lang.String s)
Deprecated. setProgressMessage should be used by the service provider to indicate how the process is being implemented. |
void |
setLabel(java.lang.String label)
Set a consise string that describes the task being performed. |
void |
setProgressMessage(java.lang.String message)
Provides additional feedback as to what's going on in the process. |
void |
setTaskProgress(long position)
Notifies the ProgressMonitor of a change in the progress of the task. |
void |
setTaskSize(long taskSize)
Sets the maximum value for the task progress of this ProgressMonitor . |
void |
started()
Notifies the ProgressMonitor that the task
being monitored has started. |
Field Detail |
---|
static final ProgressMonitor NULL
static final long SIZE_INDETERMINATE
Method Detail |
---|
void setTaskSize(long taskSize)
ProgressMonitor
.
taskSize
- maximum value for the task progress. A taskSize of -1 indicates the taskSize is indeterminate.void setTaskProgress(long position) throws java.lang.IllegalArgumentException
position
- the current task position
java.lang.IllegalArgumentException
- if isCancelled()
returns true or,
possibly if started() has not been called or
finished() has been called.void setProgressMessage(java.lang.String message)
message
- the message describing the state of progress.long getTaskProgress()
void setLabel(java.lang.String label)
java.lang.String getLabel()
long getTaskSize()
void started()
ProgressMonitor
that the task
being monitored has started. If the ProgressMonitor
is in a cancelled state when this method is called, that
ProgressMonitor
should be 'uncancelled'.
void finished()
ProgressMonitor
that the task
being monitored has finished.
void cancel()
ProgressMonitor
that the task
being monitored should be canceled. After this method is
called, implementations should return true
on
any subsequent calls to isCancelled()
and should
throw an IllegalStateException on any subsequent calls to
setTaskProgress(long)
.
boolean isCancelled()
true
if the operation being tracked
should be cancelled.
true
if the operation being tracked
should be cancelled.void setAdditionalInfo(java.lang.String s)
boolean isStarted()
boolean isFinished()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |