Package org.apache.wiki.render
Class DefaultRenderingManager
- java.lang.Object
-
- org.apache.wiki.render.DefaultRenderingManager
-
- All Implemented Interfaces:
java.util.EventListener
,Initializable
,RenderApi
,WikiEventListener
,InternalModule
,RenderingManager
public class DefaultRenderingManager extends java.lang.Object implements RenderingManager
This class provides a facade towards the differing rendering routines. You should use the routines in this manager instead of the ones in Engine, if you don't want the different side effects to occur - such as WikiFilters.This class also delegates to a rendering cache, i.e. documents are stored between calls. You may control the cache by tweaking the ehcache configuration file.
- Since:
- 2.4
-
-
Field Summary
-
Fields inherited from interface org.apache.wiki.render.RenderingManager
PROP_BEAUTIFYTITLE, PROP_PARSER, PROP_RENDERER, PROP_WYSIWYG_RENDERER
-
-
Constructor Summary
Constructors Constructor Description DefaultRenderingManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(WikiEvent event)
Fired when a WikiEvent is triggered by an event source.java.lang.String
beautifyTitle(java.lang.String title)
Beautifies the title of the page by appending spaces in suitable places, if the user has so decreed in the properties when constructing this Engine.java.lang.String
beautifyTitleNoBreak(java.lang.String title)
Beautifies the title of the page by appending non-breaking spaces in suitable places.java.lang.String
getHTML(java.lang.String pagename, int version)
Returns the converted HTML of the page's specific version.java.lang.String
getHTML(Context context, Page page)
Returns the converted HTML of the page using a different context than the default context.java.lang.String
getHTML(Context context, WikiDocument doc)
Simply renders a WikiDocument to a String.MarkupParser
getParser(Context context, java.lang.String pagedata)
Returns the wiki ParserWikiDocument
getRenderedDocument(Context context, java.lang.String pagedata)
Returns a cached document, if one is found.WikiRenderer
getRenderer(Context context, WikiDocument doc)
Returns a WikiRenderer instance, initialized with the given context and doc.WikiRenderer
getWysiwygRenderer(Context context, WikiDocument doc)
Returns a WikiRenderer instance meant for WYSIWYG editing, initialized with the given context and doc.void
initialize(Engine engine, java.util.Properties properties)
Initializes this Engine component.java.lang.String
textToHTML(Context context, java.lang.String pagedata)
Converts raw page data to HTML.java.lang.String
textToHTML(Context context, java.lang.String pagedata, StringTransmutator localLinkHook, StringTransmutator extLinkHook, StringTransmutator attLinkHook, boolean parseAccessRules, boolean justParse)
Helper method for doing the HTML translation.-
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.render.RenderingManager
getHTML, getHTML, textToHTML, textToHTML
-
-
-
-
Constructor Detail
-
DefaultRenderingManager
public DefaultRenderingManager()
-
-
Method Detail
-
initialize
public void initialize(Engine engine, java.util.Properties properties) throws WikiException
Initializes this Engine component. Note that the engine is not fully initialized at this point, so don't do anything fancy here - use lazy init, if you have to.
Checks for cache size settings, initializes the document cache. Looks for alternative WikiRenderers, initializes one, or the default XHTMLRenderer, for use.
- Specified by:
initialize
in interfaceInitializable
- Parameters:
engine
- Engine performing the initialization.properties
- Properties for setup.- Throws:
WikiException
- if an exception occurs while initializing the component.
-
beautifyTitle
public java.lang.String beautifyTitle(java.lang.String title)
Beautifies the title of the page by appending spaces in suitable places, if the user has so decreed in the properties when constructing this Engine. However, attachment names are only beautified by the name.- Specified by:
beautifyTitle
in interfaceRenderingManager
- Parameters:
title
- The title to beautify- Returns:
- A beautified title (or, if beautification is off, returns the title without modification)
-
beautifyTitleNoBreak
public java.lang.String beautifyTitleNoBreak(java.lang.String title)
Beautifies the title of the page by appending non-breaking spaces in suitable places. This is really suitable only for HTML output, as it uses the -character.- Specified by:
beautifyTitleNoBreak
in interfaceRenderingManager
- Parameters:
title
- The title to beautify- Returns:
- A beautified title.
-
getParser
public MarkupParser getParser(Context context, java.lang.String pagedata)
Returns the wiki Parser- Specified by:
getParser
in interfaceRenderingManager
pagedata
- the page data- Returns:
- A MarkupParser instance.
-
getRenderedDocument
public WikiDocument getRenderedDocument(Context context, java.lang.String pagedata)
Returns a cached document, if one is found.- Specified by:
getRenderedDocument
in interfaceRenderingManager
- Parameters:
context
- the wiki contextpagedata
- the page data- Returns:
- the rendered wiki document
-
getHTML
public java.lang.String getHTML(Context context, WikiDocument doc) throws java.io.IOException
Simply renders a WikiDocument to a String. This version does not get the document from the cache - in fact, it does not cache the document at all. This is very useful, if you have something that you want to render outside the caching routines. Because the cache is based on full pages, and the cache keys are based on names, use this routine if you're rendering anything for yourself.- Specified by:
getHTML
in interfaceRenderingManager
- Parameters:
context
- The WikiContext to render indoc
- A proper WikiDocument- Returns:
- Rendered HTML.
- Throws:
java.io.IOException
- If the WikiDocument is poorly formed.
-
getHTML
public java.lang.String getHTML(Context context, Page page)
Returns the converted HTML of the page using a different context than the default context.- Specified by:
getHTML
in interfaceRenderingManager
- Parameters:
context
- A WikiContext in which you wish to render this page in.page
- WikiPage reference.- Returns:
- HTML-rendered version of the page.
-
getHTML
public java.lang.String getHTML(java.lang.String pagename, int version)
Returns the converted HTML of the page's specific version. The version must be a positive integer, otherwise the current version is returned.- Specified by:
getHTML
in interfaceRenderingManager
- Parameters:
pagename
- WikiName of the page to convert.version
- Version number to fetch- Returns:
- HTML-rendered page text.
-
textToHTML
public java.lang.String textToHTML(Context context, java.lang.String pagedata)
Converts raw page data to HTML.- Specified by:
textToHTML
in interfaceRenderApi
- Parameters:
context
- The WikiContext in which the page is to be renderedpagedata
- Raw page data to convert to HTML- Returns:
- Rendered page text
-
textToHTML
public java.lang.String textToHTML(Context context, java.lang.String pagedata, StringTransmutator localLinkHook, StringTransmutator extLinkHook, StringTransmutator attLinkHook, boolean parseAccessRules, boolean justParse)
Helper method for doing the HTML translation.- Specified by:
textToHTML
in interfaceRenderingManager
- Parameters:
context
- The WikiContext in which to do the conversionpagedata
- The data to renderlocalLinkHook
- Is called whenever a wiki link is foundextLinkHook
- Is called whenever an external link is foundparseAccessRules
- Parse the access rules if we encounter themjustParse
- Just parses the pagedata, does not actually render. In this case, this methods an empty string.- Returns:
- HTML-rendered page text.
-
getRenderer
public WikiRenderer getRenderer(Context context, WikiDocument doc)
Returns a WikiRenderer instance, initialized with the given context and doc. The object is an XHTMLRenderer, unless overridden in jspwiki.properties with PROP_RENDERER.- Specified by:
getRenderer
in interfaceRenderingManager
- Parameters:
context
- The WikiContextdoc
- The document to render- Returns:
- A WikiRenderer for this document, or null, if no such renderer could be instantiated.
-
getWysiwygRenderer
public WikiRenderer getWysiwygRenderer(Context context, WikiDocument doc)
Returns a WikiRenderer instance meant for WYSIWYG editing, initialized with the given context and doc. The object is an WysiwygEditingRenderer, unless overridden in jspwiki.properties with PROP_WYSIWYG_RENDERER.- Specified by:
getWysiwygRenderer
in interfaceRenderingManager
- Parameters:
context
- The WikiContextdoc
- The document to render- Returns:
- A WikiRenderer instance meant for WYSIWYG editing, for this document, or null, if no such renderer could be instantiated.
-
actionPerformed
public void actionPerformed(WikiEvent event)
Fired when a WikiEvent is triggered by an event source.Flushes the document cache in response to a POST_SAVE_BEGIN event.
- Specified by:
actionPerformed
in interfaceWikiEventListener
- Parameters:
event
- a WikiEvent object- See Also:
WikiEventListener.actionPerformed(WikiEvent)
-
-