Package fmpp
Interface ProgressListener
-
- All Known Implementing Classes:
AntProgressListener,CachingLocalDataBuilder,ConsoleProgressListener,LoggerProgressListener,StatisticsProgressListener,TddHashLocalDataBuilder,TerseConsoleProgressListener
public interface ProgressListenerInterface to monitor the events of anEngine.The object that implements this interface need to be plugged into the
Engineto receive notifications about its events. For example, if you add an object as engine attribute or as local data loader to the engine, it will be notified about the events. Object that has no role other than listening to events can to be plugged withEngine.addProgressListener(fmpp.ProgressListener).Examples of the usage of progress listeners:
- Displaying visually the progress of the processing session for the user.
- Creating statistics about the processing session.
- Implementing a poor man's logging (until no logging support added to FMPP)
- Releasing the resources held by local data loaders and engine attributes when the session is finished.
-
-
Field Summary
Fields Modifier and Type Field Description static intEVENT_BEGIN_FILE_PROCESSINGThe processing of a single file has been started.static intEVENT_BEGIN_PROCESSING_SESSIONEngine.processhas started the work.static intEVENT_CREATED_EMPTY_DIRAn empty directory was created due to the copyEmptyDirs setting.static intEVENT_END_FILE_PROCESSINGThe processing of a single file has been finished.static intEVENT_END_PROCESSING_SESSIONEngine.processhas finished the work.static intEVENT_IGNORING_DIRA source directory has been ignored (skipped.)static intEVENT_SOURCE_NOT_MODIFIEDThe processing of source was skipped because the output was generated after the last modification of the source file.static intEVENT_WARNINGA warning message has been received from a template or from the engine.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidnotifyProgressEvent(Engine engine, int event, java.io.File src, int pMode, java.lang.Throwable error, java.lang.Object param)Method called be the engine to notify events.
-
-
-
Field Detail
-
EVENT_BEGIN_PROCESSING_SESSION
static final int EVENT_BEGIN_PROCESSING_SESSION
Engine.processhas started the work.- See Also:
- Constant Field Values
-
EVENT_END_PROCESSING_SESSION
static final int EVENT_END_PROCESSING_SESSION
Engine.processhas finished the work.- See Also:
- Constant Field Values
-
EVENT_BEGIN_FILE_PROCESSING
static final int EVENT_BEGIN_FILE_PROCESSING
The processing of a single file has been started.- See Also:
- Constant Field Values
-
EVENT_END_FILE_PROCESSING
static final int EVENT_END_FILE_PROCESSING
The processing of a single file has been finished.- See Also:
- Constant Field Values
-
EVENT_IGNORING_DIR
static final int EVENT_IGNORING_DIR
A source directory has been ignored (skipped.)- See Also:
- Constant Field Values
-
EVENT_CREATED_EMPTY_DIR
static final int EVENT_CREATED_EMPTY_DIR
An empty directory was created due to the copyEmptyDirs setting.- See Also:
- Constant Field Values
-
EVENT_WARNING
static final int EVENT_WARNING
A warning message has been received from a template or from the engine.- See Also:
- Constant Field Values
-
EVENT_SOURCE_NOT_MODIFIED
static final int EVENT_SOURCE_NOT_MODIFIED
The processing of source was skipped because the output was generated after the last modification of the source file.- See Also:
- Constant Field Values
-
-
Method Detail
-
notifyProgressEvent
void notifyProgressEvent(Engine engine, int event, java.io.File src, int pMode, java.lang.Throwable error, java.lang.Object param) throws java.lang.Exception
Method called be the engine to notify events.It is guaranteed that this method will not be called concurrently as far as the listener is added to a single
Engineinstance only.- Parameters:
engine- The engine instance where the event has occurred.event- The code of the event: anEVENT_...constant. As new event types can be introduced with new FMPP versions (even if it happens very seldom), a progress listener implementation should survive events that it does not understand. That is, it must not stop with an error, but it should silently ignore the event.src- Depending oneventthe source file or null.pMode- Depending oneventthe proccessing mode (Engine.PMODE_...constant) orEngine.PMODE_NONE. Note that new processing modes may be added as FMPP evolvers, so values that are not known be the progress listener should be handler nicely, and never cause error.error- The error, or null if there was no error.param- Extra information about the event. The class and meaning of object depends on the concrete event:- For
EVENT_WARNINGit is aStringthat describles the reason of warning.
- For
- Throws:
java.lang.Exception
-
-