Class HandlebarsRenderer

  • All Implemented Interfaces:
    Renderer<com.github.jknack.handlebars.Handlebars>

    public class HandlebarsRenderer
    extends java.lang.Object
    implements Renderer<com.github.jknack.handlebars.Handlebars>
    HandlebarsRenderer implements the Renderer interface. It uses a Dynamic template loader and Handlebars engine to render templates.
    • Constructor Detail

      • HandlebarsRenderer

        public HandlebarsRenderer()
      • HandlebarsRenderer

        public HandlebarsRenderer​(java.lang.String prefix)
      • HandlebarsRenderer

        public HandlebarsRenderer​(java.lang.ClassLoader classLoader)
      • HandlebarsRenderer

        public HandlebarsRenderer​(java.lang.String prefix,
                                  java.lang.ClassLoader classLoader)
      • HandlebarsRenderer

        public HandlebarsRenderer​(com.github.jknack.handlebars.Handlebars overrideEngine)
    • Method Detail

      • addTemplateLoader

        public void addTemplateLoader​(java.lang.ClassLoader classLoader)
        Add a child first class loader
        Specified by:
        addTemplateLoader in interface Renderer<com.github.jknack.handlebars.Handlebars>
        Parameters:
        classLoader - plugin class loader
      • removeTemplateLoader

        public void removeTemplateLoader​(java.lang.ClassLoader classLoader)
        Remove a class loader
        Specified by:
        removeTemplateLoader in interface Renderer<com.github.jknack.handlebars.Handlebars>
        Parameters:
        classLoader - plugin class loader
      • getTemplateLoaders

        public java.lang.Iterable<com.github.jknack.handlebars.io.TemplateLoader> getTemplateLoaders()
        Get a list of all template loaders
        Specified by:
        getTemplateLoaders in interface Renderer<com.github.jknack.handlebars.Handlebars>
        Returns:
        list of template loaders
      • render

        public HTMLResponse render​(java.lang.String templateText,
                                   ViewModel<?> model)
        Description copied from interface: Renderer
        Given a template and a model, returns a TemplateResponse
        Specified by:
        render in interface Renderer<com.github.jknack.handlebars.Handlebars>
        Parameters:
        templateText - String representation of a template the engine can use.
        model - ViewModel to be passed in with the template
        Returns:
        TemplateResponse
      • renderTemplate

        public HTMLResponse renderTemplate​(java.lang.String location,
                                           ViewModel<?> model)
        Description copied from interface: Renderer
        Given a template location and a model, returns a TemplateResponse
        Specified by:
        renderTemplate in interface Renderer<com.github.jknack.handlebars.Handlebars>
        Parameters:
        location - Location where the engine can find the template.
        model - ViewModel to be passed in with the template
        Returns:
        TemplateResponse
      • getEngine

        public com.github.jknack.handlebars.Handlebars getEngine()
        Description copied from interface: Renderer
        The implementation of the actual engine to be used in this renderer
        Specified by:
        getEngine in interface Renderer<com.github.jknack.handlebars.Handlebars>
        Returns:
        engine
      • registerAssetHelper

        public void registerAssetHelper​(java.lang.String pluginName)
        Creates an {{asset}} helper tag that outputs the plugin specific relative url for assets stored in the /src/assets e.g. <link href="{{asset "/custom.css"}}" />
        Parameters:
        pluginName - name of the plugin
        See Also:
        Handlebars Helpers