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
  • Constructor Details

  • Method Details

    • 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 interface Initializable
      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 interface RenderingManager
      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 interface RenderingManager
      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 interface RenderingManager
      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 interface RenderingManager
      Parameters:
      context - the wiki context
      pagedata - 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 interface RenderingManager
      Parameters:
      context - The WikiContext to render in
      doc - 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 interface RenderingManager
      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 interface RenderingManager
      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 interface RenderApi
      Parameters:
      context - The WikiContext in which the page is to be rendered
      pagedata - 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 interface RenderingManager
      Parameters:
      context - The WikiContext in which to do the conversion
      pagedata - The data to render
      localLinkHook - Is called whenever a wiki link is found
      extLinkHook - Is called whenever an external link is found
      parseAccessRules - Parse the access rules if we encounter them
      justParse - 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 interface RenderingManager
      Parameters:
      context - The WikiContext
      doc - 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 interface RenderingManager
      Parameters:
      context - The WikiContext
      doc - 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 interface WikiEventListener
      Parameters:
      event - a WikiEvent object
      See Also:
      WikiEventListener.actionPerformed(WikiEvent)