Class DefaultHelperRegistry
- java.lang.Object
-
- com.github.jknack.handlebars.helper.DefaultHelperRegistry
-
- All Implemented Interfaces:
HelperRegistry
public class DefaultHelperRegistry extends java.lang.Object implements HelperRegistry
Default implementation ofHelperRegistry.- Since:
- 1.2.0
-
-
Field Summary
-
Fields inherited from interface com.github.jknack.handlebars.HelperRegistry
HELPER_MISSING
-
-
Constructor Summary
Constructors Constructor Description DefaultHelperRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Decoratordecorator(java.lang.String name)Find a decorator by name.<C> Helper<C>helper(java.lang.String name)Find a helper by name.java.util.Set<java.util.Map.Entry<java.lang.String,Helper<?>>>helpers()List all the helpers from registry.HelperRegistryregisterDecorator(java.lang.String name, Decorator decorator)Register a decorator and make it accessible viaHelperRegistry.decorator(String).<H> HelperRegistryregisterHelper(java.lang.String name, Helper<H> helper)Register a helper in the helper registry.<H> HelperRegistryregisterHelperMissing(Helper<H> helper)Register the special helper missing in the registry.HelperRegistryregisterHelpers(java.io.File input)Register helpers from a JavaScript source.HelperRegistryregisterHelpers(java.lang.Class<?> helperSource)Register all the helper methods for the given helper source.HelperRegistryregisterHelpers(java.lang.Object helperSource)Register all the helper methods for the given helper source.HelperRegistryregisterHelpers(java.lang.String filename, java.io.InputStream source)Register helpers from a JavaScript source.HelperRegistryregisterHelpers(java.lang.String filename, java.io.Reader source)Register helpers from a JavaScript source.HelperRegistryregisterHelpers(java.lang.String filename, java.lang.String source)Register helpers from a JavaScript source.HelperRegistryregisterHelpers(java.net.URI location)Register helpers from a JavaScript source.DefaultHelperRegistrysetCharset(java.nio.charset.Charset charset)Set the charset to use.
-
-
-
Method Detail
-
helper
public <C> Helper<C> helper(java.lang.String name)
Description copied from interface:HelperRegistryFind a helper by name.- Specified by:
helperin interfaceHelperRegistry- Type Parameters:
C- The helper runtime type.- Parameters:
name- The helper's name. Required.- Returns:
- A helper or null if it's not found.
-
registerHelper
public <H> HelperRegistry registerHelper(java.lang.String name, Helper<H> helper)
Description copied from interface:HelperRegistryRegister a helper in the helper registry.- Specified by:
registerHelperin interfaceHelperRegistry- Type Parameters:
H- The helper runtime type.- Parameters:
name- The helper's name. Required.helper- The helper object. Required.- Returns:
- This handlebars.
-
registerHelperMissing
public <H> HelperRegistry registerHelperMissing(Helper<H> helper)
Description copied from interface:HelperRegistryRegister the special helper missing in the registry.- Specified by:
registerHelperMissingin interfaceHelperRegistry- Type Parameters:
H- The helper runtime type.- Parameters:
helper- The helper object. Required.- Returns:
- This handlebars.
-
registerHelpers
public HelperRegistry registerHelpers(java.lang.Object helperSource)
Description copied from interface:HelperRegistryRegister all the helper methods for the given helper source.
A helper method looks like:
public static? CharSequence methodName(context?, parameter*, options?) { }Where:- A method can/can't be static
- The method's name became the helper's name
- Context, parameters and options are all optional
- If context and options are present they must be the first and last method arguments.
- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
helperSource- The helper source. Required.- Returns:
- This handlebars object.
-
registerHelpers
public HelperRegistry registerHelpers(java.lang.Class<?> helperSource)
Description copied from interface:HelperRegistryRegister all the helper methods for the given helper source.
A helper method looks like:
public static? CharSequence methodName(context?, parameter*, options?) { }Where:- A method can/can't be static
- The method's name became the helper's name
- Context, parameters and options are all optional
- If context and options are present they must be the first and last method arguments.
Enums are supported too
- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
helperSource- The helper source. Enums are supported. Required.- Returns:
- This handlebars object.
-
registerHelpers
public HelperRegistry registerHelpers(java.net.URI location) throws java.lang.Exception
Description copied from interface:HelperRegistryRegister helpers from a JavaScript source.
A JavaScript source file looks like:
Handlebars.registerHelper('hey', function (context) { return 'Hi ' + context.name; }); ... Handlebars.registerHelper('hey', function (context, options) { return 'Hi ' + context.name + options.hash['x']; }); ... Handlebars.registerHelper('hey', function (context, p1, p2, options) { return 'Hi ' + context.name + p1 + p2 + options.hash['x']; }); ...To keep your helpers reusable between server and client avoid DOM manipulation.- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
location- A classpath location. Required.- Returns:
- This handlebars object.
- Throws:
java.lang.Exception- If the JavaScript helpers can't be registered.
-
registerHelpers
public HelperRegistry registerHelpers(java.io.File input) throws java.lang.Exception
Description copied from interface:HelperRegistryRegister helpers from a JavaScript source.
A JavaScript source file looks like:
Handlebars.registerHelper('hey', function (context) { return 'Hi ' + context.name; }); ... Handlebars.registerHelper('hey', function (context, options) { return 'Hi ' + context.name + options.hash['x']; }); ... Handlebars.registerHelper('hey', function (context, p1, p2, options) { return 'Hi ' + context.name + p1 + p2 + options.hash['x']; }); ...To keep your helpers reusable between server and client avoid DOM manipulation.- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
input- A JavaScript file name. Required.- Returns:
- This handlebars object.
- Throws:
java.lang.Exception- If the JavaScript helpers can't be registered.
-
registerHelpers
public HelperRegistry registerHelpers(java.lang.String filename, java.io.Reader source) throws java.lang.Exception
Description copied from interface:HelperRegistryRegister helpers from a JavaScript source.
A JavaScript source file looks like:
Handlebars.registerHelper('hey', function (context) { return 'Hi ' + context.name; }); ... Handlebars.registerHelper('hey', function (context, options) { return 'Hi ' + context.name + options.hash['x']; }); ... Handlebars.registerHelper('hey', function (context, p1, p2, options) { return 'Hi ' + context.name + p1 + p2 + options.hash['x']; }); ...To keep your helpers reusable between server and client avoid DOM manipulation.- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
filename- The file name (just for debugging purpose). Required.source- The JavaScript source. Required.- Returns:
- This handlebars object.
- Throws:
java.lang.Exception- If the JavaScript helpers can't be registered.
-
registerHelpers
public HelperRegistry registerHelpers(java.lang.String filename, java.io.InputStream source) throws java.lang.Exception
Description copied from interface:HelperRegistryRegister helpers from a JavaScript source.
A JavaScript source file looks like:
Handlebars.registerHelper('hey', function (context) { return 'Hi ' + context.name; }); ... Handlebars.registerHelper('hey', function (context, options) { return 'Hi ' + context.name + options.hash['x']; }); ... Handlebars.registerHelper('hey', function (context, p1, p2, options) { return 'Hi ' + context.name + p1 + p2 + options.hash['x']; }); ...To keep your helpers reusable between server and client avoid DOM manipulation.- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
filename- The file name (just for debugging purpose). Required.source- The JavaScript source. Required.- Returns:
- This handlebars object.
- Throws:
java.lang.Exception- If the JavaScript helpers can't be registered.
-
registerHelpers
public HelperRegistry registerHelpers(java.lang.String filename, java.lang.String source) throws java.io.IOException
Description copied from interface:HelperRegistryRegister helpers from a JavaScript source.
A JavaScript source file looks like:
Handlebars.registerHelper('hey', function (context) { return 'Hi ' + context.name; }); ... Handlebars.registerHelper('hey', function (context, options) { return 'Hi ' + context.name + options.hash['x']; }); ... Handlebars.registerHelper('hey', function (context, p1, p2, options) { return 'Hi ' + context.name + p1 + p2 + options.hash['x']; }); ...To keep your helpers reusable between server and client avoid DOM manipulation.- Specified by:
registerHelpersin interfaceHelperRegistry- Parameters:
filename- The file name (just for debugging purpose). Required.source- The JavaScript source. Required.- Returns:
- This registry.
- Throws:
java.io.IOException- If the JavaScript helpers can't be registered.
-
helpers
public java.util.Set<java.util.Map.Entry<java.lang.String,Helper<?>>> helpers()
Description copied from interface:HelperRegistryList all the helpers from registry.- Specified by:
helpersin interfaceHelperRegistry- Returns:
- Available helpers in the registry.
-
decorator
public Decorator decorator(java.lang.String name)
Description copied from interface:HelperRegistryFind a decorator by name.- Specified by:
decoratorin interfaceHelperRegistry- Parameters:
name- A decorator's name.- Returns:
- A decorator or
null.
-
registerDecorator
public HelperRegistry registerDecorator(java.lang.String name, Decorator decorator)
Description copied from interface:HelperRegistryRegister a decorator and make it accessible viaHelperRegistry.decorator(String).- Specified by:
registerDecoratorin interfaceHelperRegistry- Parameters:
name- A decorator's name. Required.decorator- A decorator. Required.- Returns:
- This registry.
-
setCharset
public DefaultHelperRegistry setCharset(java.nio.charset.Charset charset)
Description copied from interface:HelperRegistrySet the charset to use.- Specified by:
setCharsetin interfaceHelperRegistry- Parameters:
charset- Charset.- Returns:
- This registry.
-
-