| WikiPageEvent indicates a change in the state or processing of a WikiPage.
There are basically two types of page events:
- Phase Boundary Events
- Those considered as "beginning-of-phase", and those as "end-of-phase"
events (as designated by *_BEGIN and *_END), as
generated by the WikiEngine. The phases include pre-save, post-save,
pre-translate, and post-translate.
- In-Phase Events
- In-phase events are generated as specific events from the
PageEventFilter (or elsewhere), on a per-listener basis. There may
be many such events during a particular phase.
E.g., a typical event sequence for the pre-translate phase would be:
- PRE_TRANSLATE_BEGIN
- PRE_TRANSLATE
- PRE_TRANSLATE
- ...
- PRE_TRANSLATE_END
Notes
Page Requested and Delivered Events
These two events are fired once per page request, at the beginning
and after delivery of the page (respectively). They are generated
by the
com.ecyrd.jspwiki.ui.WikiServletFilter .
Page Lock and Unlock Events
Page lock and unlock events occur only once during an editing session,
so there are no begin and end events. They are generated
by the
com.ecyrd.jspwiki.PageManager .
WikiPageEvents
Other WikiPageEvents include both phase boundary and in-phase
events for saving, pre- and post-translating content. These are very noisy
event types, but are not fired unless a listener is available. They are
generated by the
com.ecyrd.jspwiki.filters.FilterManager ,
com.ecyrd.jspwiki.event.PageEventFilter , and potentially other
implementing classes.
Firing Order and Phase Boundaries
Note that due to the asynchronous nature of event processing, any threads
spawned by such events will not necessarily have completed during their
specific phase; we can assume only that no more events of that phase will
be fired after its *_END event has been fired.
author: Murray Altheim See Also: com.ecyrd.jspwiki.event.WikiEvent since: 2.4.20 |