com.xmlmind.util
Interface ProgressMonitor

All Known Implementing Classes:
NoProgressMonitor, SimpleProgressMonitor

public interface ProgressMonitor

Interface implemented by objects wishing to monitor the execution of a lengthy task.


Method Summary
 boolean message(java.lang.String message, Console.MessageType messageType)
          Invoked by the lengthy task to give this monitor information about the step being executed.
 void start()
          Invoked by the lengthy task to inform this monitor that the execution of the task has started.
 boolean step(int step)
          Invoked by the lengthy task to inform this monitor each time a new step is about to be executed.
 boolean stepCount(int stepCount)
          Invoked by the lengthy task to inform this monitor about the total numbers of steps comprising the task.
 void stop()
          Invoked by the lengthy task to inform this monitor that the execution of the task has stopped, whatever the reason (success, canceled, error).
 

Method Detail

start

void start()
Invoked by the lengthy task to inform this monitor that the execution of the task has started.

This method is guaranteed to be invoked once before any other method.


message

boolean message(java.lang.String message,
                Console.MessageType messageType)
Invoked by the lengthy task to give this monitor information about the step being executed.

This method may be invoked any number of times (including 0), at any time, between start() and stop().

Parameters:
message - message containing information about the step being executed
messageType - type of message. May be null which is equivalent to INFO.
Returns:
false if this monitor wants to cancel the lengthy task; true otherwise

stepCount

boolean stepCount(int stepCount)
Invoked by the lengthy task to inform this monitor about the total numbers of steps comprising the task.

This method is guaranteed to be invoked once before any invocation of step(int). Therefore the simplest sequence of invocations is:

start
stepCount
step
step
...
step
stop

Note that in the above example, message(java.lang.String, com.xmlmind.util.Console.MessageType) is never invoked.

Parameters:
stepCount - total numbers of steps comprising the lengthy task. This number is computed once for all. A negative value means that this number cannot be determined.
Returns:
false if this monitor wants to cancel the lengthy task; true otherwise

step

boolean step(int step)
Invoked by the lengthy task to inform this monitor each time a new step is about to be executed.

Parameters:
step - current step. First step is step 0. Last step is step stepCount-1, when stepCount is strictly positive.
Returns:
false if this monitor wants to cancel the lengthy task; true otherwise

stop

void stop()
Invoked by the lengthy task to inform this monitor that the execution of the task has stopped, whatever the reason (success, canceled, error).

This method is guaranteed to be invoked once when start() has also been invoked. No other method will be invoked after that.