info.magnolia.freemarker
Class FreemarkerHelper

java.lang.Object
  extended by info.magnolia.freemarker.FreemarkerHelper

public class FreemarkerHelper
extends Object

A generic helper to render Content instances with Freemarker templates. Is used to render both paragraphs and templates. TODO : expose Configuration#clearTemplateCache()

Version:
$Revision: $ ($Author: $)
Author:
gjoseph

Constructor Summary
FreemarkerHelper()
           
FreemarkerHelper(FreemarkerConfig freemarkerConfig)
           
 
Method Summary
protected  void addDefaultData(Map<String,Object> data, Locale locale, String i18nBasename)
           
protected  void addTaglibSupportData(Map<String,Object> data, WebContext webCtx)
           
protected  Locale checkLocale(Locale locale)
          Returns the passed Locale if non-null, otherwise attempts to get the Locale from the current context.
protected  freemarker.ext.servlet.ServletContextHashModel checkServletContextModel(javax.servlet.ServletContext servletContext)
           
protected  freemarker.ext.jsp.TaglibFactory checkTaglibFactory(javax.servlet.ServletContext servletContext)
           
protected  freemarker.template.Configuration getConfiguration()
           
static FreemarkerHelper getInstance()
           
protected  void prepareRendering(Locale checkedLocale, String i18nBasename, Object root)
          Call checkLocale() before calling this method, to ensure it is not null.
protected  void render(Reader template, Locale locale, String i18nBasename, Object root, Writer out)
           
 void render(Reader template, Object root, Writer out)
          Renders the template read by the given Reader instance.
 void render(String templatePath, Locale locale, String i18nBasename, Object root, Writer out)
          Renders the given template, using the given root object (can be a map, or any other type of object handled by MagnoliaContentWrapper) to the given Writer.
 void render(String templatePath, Object root, Writer out)
           
 void resetObjectWrapper()
          Deprecated. not needed anymore since 4.3
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FreemarkerHelper

public FreemarkerHelper()

FreemarkerHelper

public FreemarkerHelper(FreemarkerConfig freemarkerConfig)
Method Detail

getInstance

public static FreemarkerHelper getInstance()

resetObjectWrapper

public void resetObjectWrapper()
Deprecated. not needed anymore since 4.3


render

public void render(String templatePath,
                   Object root,
                   Writer out)
            throws freemarker.template.TemplateException,
                   IOException
Throws:
freemarker.template.TemplateException
IOException
See Also:
render(String, Locale, String, Object, java.io.Writer)

render

public void render(String templatePath,
                   Locale locale,
                   String i18nBasename,
                   Object root,
                   Writer out)
            throws freemarker.template.TemplateException,
                   IOException
Renders the given template, using the given root object (can be a map, or any other type of object handled by MagnoliaContentWrapper) to the given Writer. If the root is an instance of a Map, the following elements are added to it: - ctx, the current Context instance retrieved from MgnlContext - contextPath, if we have an available WebContext (@deprecated) - defaultBaseUrl, as per Server.getDefaultBaseUrl()

Throws:
freemarker.template.TemplateException
IOException
See Also:
ServerConfiguration.getDefaultBaseUrl()

render

public void render(Reader template,
                   Object root,
                   Writer out)
            throws freemarker.template.TemplateException,
                   IOException
Renders the template read by the given Reader instance. It should be noted that this method completely bypasses Freemarker's caching mechanism. The template will be parsed everytime, which might have a performance impact.

Throws:
freemarker.template.TemplateException
IOException
See Also:
render(Reader, Locale, String, Object, Writer)

render

protected void render(Reader template,
                      Locale locale,
                      String i18nBasename,
                      Object root,
                      Writer out)
               throws freemarker.template.TemplateException,
                      IOException
Throws:
freemarker.template.TemplateException
IOException

checkLocale

protected Locale checkLocale(Locale locale)
Returns the passed Locale if non-null, otherwise attempts to get the Locale from the current context.


prepareRendering

protected void prepareRendering(Locale checkedLocale,
                                String i18nBasename,
                                Object root)
Call checkLocale() before calling this method, to ensure it is not null.


addDefaultData

protected void addDefaultData(Map<String,Object> data,
                              Locale locale,
                              String i18nBasename)

addTaglibSupportData

protected void addTaglibSupportData(Map<String,Object> data,
                                    WebContext webCtx)

checkTaglibFactory

protected freemarker.ext.jsp.TaglibFactory checkTaglibFactory(javax.servlet.ServletContext servletContext)

checkServletContextModel

protected freemarker.ext.servlet.ServletContextHashModel checkServletContextModel(javax.servlet.ServletContext servletContext)
                                                                           throws javax.servlet.ServletException
Throws:
javax.servlet.ServletException

getConfiguration

protected freemarker.template.Configuration getConfiguration()


Copyright © 2003-2011 Magnolia International Ltd.. All Rights Reserved.