Package com.morpheusdata.views
Class HandlebarsRenderer
- java.lang.Object
-
- com.morpheusdata.views.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 Summary
Constructors Constructor Description HandlebarsRenderer()
HandlebarsRenderer(com.github.jknack.handlebars.Handlebars overrideEngine)
HandlebarsRenderer(java.lang.ClassLoader classLoader)
HandlebarsRenderer(java.lang.String prefix)
HandlebarsRenderer(java.lang.String prefix, java.lang.ClassLoader classLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTemplateLoader(java.lang.ClassLoader classLoader)
Add a child first class loadercom.github.jknack.handlebars.Handlebars
getEngine()
The implementation of the actual engine to be used in this rendererjava.lang.Iterable<com.github.jknack.handlebars.io.TemplateLoader>
getTemplateLoaders()
Get a list of all template loadersvoid
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.void
registerNonceHelper(MorpheusWebRequestService requestService)
void
removeTemplateLoader(java.lang.ClassLoader classLoader)
Remove a class loaderHTMLResponse
render(java.lang.String templateText, ViewModel<?> model)
Given a template and a model, returns a TemplateResponseHTMLResponse
renderTemplate(java.lang.String location, ViewModel<?> model)
Given a template location and a model, returns a TemplateResponse
-
-
-
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 interfaceRenderer<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 interfaceRenderer<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 interfaceRenderer<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
-
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 interfaceRenderer<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
-
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
-
registerNonceHelper
public void registerNonceHelper(MorpheusWebRequestService requestService)
-
-