Package org.apache.wiki.filters

# Class PageEventFilter

java.lang.Object
org.apache.wiki.api.filters.BasePageFilter
org.apache.wiki.filters.PageEventFilter

All Implemented Interfaces:
  `PageFilter`

public class PageEventFilter extends BasePageFilter
Fires WikiPageEvents for page events.

Adding a PageEventFilter to the FilterManager will automatically attach an event delegate with the WikiEventManager to provide for firing and listener management. All that remains is then adding the listener to the filter via the WikiEventManager. This is quite simple:

        PageEventFilter filter = new PageEventFilter();
        engine.getFilterManager().addPageFilter(filter,5000);
        // attach listener to filter
        WikiEventManager.addWikiEventListener(filter,listener);

This class provides convenience methods for adding and removing WikiEventListeners.

See Also:
  - `WikiEventManager`

## Field Summary

### Fields inherited from class org.apache.wiki.api.filters.BasePageFilter

`m_engine`

## Constructor Summary

Constructors
Constructor
Description
`PageEventFilter()`

## Method Summary

Modifier and Type
Method
Description
`final void`
`addWikiEventListener(WikiEventListener listener)`
Registers a WikiEventListener with this instance.
`protected final void`
`fireEvent(int type, Context context)`
Fires a WikiPageEvent of the provided type and page name to all registered listeners.
`void`
`initialize(Engine engine, Properties properties)`
Called whenever a new PageFilter is instantiated and reset.
`void`
`postSave(Context wikiContext, String content)`
This method is called after the page has been successfully saved.
`String`
`postTranslate(Context wikiContext, String htmlContent)`
This method is called after a page has been fed through the TranslatorReader, so anything you are seeing here is translated content.
`String`
`preSave(Context wikiContext, String content)`
This method is called before the page has been saved to the PageProvider.
`String`
`preTranslate(Context wikiContext, String content)`
This method is called whenever a page has been loaded from the provider, but not yet been sent through the TranslatorReader.
`final void`
`removeWikiEventListener(WikiEventListener listener)`
Un-registers a WikiEventListener with this instance.

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface org.apache.wiki.api.filters.PageFilter

`destroy`

## Constructor Details

### PageEventFilter

public PageEventFilter()

## Method Details

### initialize

public void initialize(Engine engine, Properties properties) throws FilterException
Called whenever a new PageFilter is instantiated and reset.

Specified by:
  `initialize` in interface `PageFilter`
Overrides:
  `initialize` in class `BasePageFilter`
Throws:
  `FilterException`

### preTranslate

public String preTranslate(Context wikiContext, String content)
This method is called whenever a page has been loaded from the provider, but not yet been sent through the TranslatorReader. Note that you cannot do HTML translation here, because TranslatorReader is likely to escape it.

Parameters:
  `wikiContext` - The current wikicontext.
  `content` - WikiMarkup.

### postTranslate

public String postTranslate(Context wikiContext, String htmlContent)
This method is called after a page has been fed through the TranslatorReader, so anything you are seeing here is translated content. If you want to do any of your own WikiMarkup2HTML translation, do it here.

### preSave

public String preSave(Context wikiContext, String content)
This method is called before the page has been saved to the PageProvider.

### postSave

public void postSave(Context wikiContext, String content)
This method is called after the page has been successfully saved. If the saving fails for any reason, then this method will not be called.

Since the result is discarded from this method, this is only useful for things like counters, etc.

### addWikiEventListener

public final void addWikiEventListener(WikiEventListener listener)
Registers a WikiEventListener with this instance. This is a convenience method.

Parameters:
  `listener` - the event listener

### removeWikiEventListener

public final void removeWikiEventListener(WikiEventListener listener)
Un-registers a WikiEventListener with this instance. This is a convenience method.

Parameters:
  `listener` - the event listener

### fireEvent

protected final void fireEvent(int type, Context context)
Fires a WikiPageEvent of the provided type and page name to all registered listeners. Only `PAGE_LOCK` and `PAGE_UNLOCK` event types will fire an event; other event types are ignored.

Parameters:
  `type` - the WikiPageEvent type to be fired.
  `context` - the WikiContext of the event.
See Also:
  - `WikiPageEvent`