Class 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
    • 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 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.
      • 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

        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 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.