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 manages a rendering cache, i.e. documents are stored between calls. You may control the cache by tweaking the ehcache.xml file.
- Since:
- 2.4
-
Field Summary
Fields inherited from interface org.apache.wiki.render.RenderingManager
DOCUMENTCACHE_NAME, PROP_BEAUTIFYTITLE, PROP_PARSER, PROP_RENDERER, PROP_WYSIWYG_RENDERER
-
Constructor Summary
Constructors Constructor Description DefaultRenderingManager()
-
Method Summary
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 Details
-
DefaultRenderingManager
public DefaultRenderingManager()
-
-
Method Details
-
initialize
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
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
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
Returns the wiki Parser- Specified by:
getParser
in interfaceRenderingManager
pagedata
- the page data- Returns:
- A MarkupParser instance.
-
getRenderedDocument
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
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
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
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
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
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
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
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)
-