Class WikiPageEvent

java.lang.Object
java.util.EventObject
org.apache.wiki.event.WikiEvent
org.apache.wiki.event.WikiPageEvent
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
WikiPageRenameEvent

public class WikiPageEvent
extends WikiEvent
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:

  1. PRE_TRANSLATE_BEGIN
  2. PRE_TRANSLATE
  3. PRE_TRANSLATE
  4. ...
  5. 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 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 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 FilterManager, 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.

Since:
2.4.20
See Also:
WikiEvent, Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    static int PAGE_DELETE_REQUEST
    Indicates a wiki page delete event (the beginning of a delete request).
    static int PAGE_DELETED
    Indicates a wiki page deleted event (after the delete has been completed).
    static int PAGE_DELIVERED
    Indicates a wiki page delivery event (the end of a request).
    static int PAGE_LOCK
    Indicates a page lock event.
    static int PAGE_REINDEX
    Indicates a wiki page reindex event (a page was changed when requested to a provided)
    static int PAGE_REQUESTED
    Indicates a wiki page request event (the start of a request).
    static int PAGE_UNLOCK
    Indicates a page unlock event.
    static int POST_SAVE
    Indicates a wiki post-save page event.
    static int POST_SAVE_BEGIN
    Indicates the beginning of all wiki post-save page events.
    static int POST_SAVE_END
    Indicates the end of all wiki post-save page events.
    static int POST_TRANSLATE
    Indicates a wiki post-translate page event.
    static int POST_TRANSLATE_BEGIN
    Indicates the beginning of all wiki post-translate page events.
    static int POST_TRANSLATE_END
    Indicates the end of all wiki post-translate page events.
    static int PRE_SAVE
    Indicates a wiki pre-save page event.
    static int PRE_SAVE_BEGIN
    Indicates the beginning of all wiki pre-save page events.
    static int PRE_SAVE_END
    Indicates the end of all wiki pre-save page events.
    static int PRE_TRANSLATE
    Indicates a wiki pre-translate page event.
    static int PRE_TRANSLATE_BEGIN
    Indicates the beginning of all wiki pre-translate page events.
    static int PRE_TRANSLATE_END
    Indicates the end of all wiki pre-translate page events.

    Fields inherited from class org.apache.wiki.event.WikiEvent

    ERROR, UNDEFINED

    Fields inherited from class java.util.EventObject

    source
  • Constructor Summary

    Constructors
    Constructor Description
    WikiPageEvent​(java.lang.Object src, int type, java.lang.String pagename)
    Constructs an instance of this event.
  • Method Summary

    Modifier and Type Method Description
    java.lang.String eventName()
    Returns a textual representation of the event type.
    java.lang.String getPageName()
    Returns the Wiki page name associated with this event.
    java.lang.String getTypeDescription()
    Returns a human-readable description of the event type.
    static boolean isValidType​(int type)
    Returns true if the int value is a WikiPageEvent type.

    Methods inherited from class org.apache.wiki.event.WikiEvent

    getArg, getArgs, getSrc, getType, getWhen, setType, toString

    Methods inherited from class java.util.EventObject

    getSource

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait