Package com.github.jknack.handlebars.io
Class CompositeTemplateLoader
- java.lang.Object
-
- com.github.jknack.handlebars.io.CompositeTemplateLoader
-
- All Implemented Interfaces:
TemplateLoader
public class CompositeTemplateLoader extends Object implements TemplateLoader
Combine two or more
TemplateLoaderas a singleTemplateLoader.TemplateLoaders are executed in the order they are provided.Execution is as follows:
- If a
TemplateLoaderis able to resolve aTemplateSource, thatTemplateSourceis considered the response. - If a
TemplateLoaderthrows aIOExceptionexception the nextTemplateLoaderin the chain will be used.
- Since:
- 1.0.0
-
-
Field Summary
-
Fields inherited from interface com.github.jknack.handlebars.io.TemplateLoader
DEFAULT_PREFIX, DEFAULT_SUFFIX
-
-
Constructor Summary
Constructors Constructor Description CompositeTemplateLoader(TemplateLoader... loaders)Creates a newCompositeTemplateLoader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterable<TemplateLoader>getDelegates()Returns the delegates template loaders.StringgetPrefix()StringgetSuffix()Stringresolve(String location)Resolve a relative location to an absolute location.voidsetPrefix(String prefix)Set the prefix that gets prepended to view names when building a URI.voidsetSuffix(String suffix)Set the suffix that gets appended to view names when building a URI.TemplateSourcesourceAt(String location)Get a template source from location.
-
-
-
Constructor Detail
-
CompositeTemplateLoader
public CompositeTemplateLoader(TemplateLoader... loaders)
Creates a newCompositeTemplateLoader.- Parameters:
loaders- The template loader chain. At least two loaders must be provided.
-
-
Method Detail
-
sourceAt
public TemplateSource sourceAt(String location) throws IOException
Description copied from interface:TemplateLoaderGet a template source from location.- Specified by:
sourceAtin interfaceTemplateLoader- Parameters:
location- The location of the template source. Required.- Returns:
- A new template source.
- Throws:
IOException- If the template's source can't be resolved.
-
resolve
public String resolve(String location)
Description copied from interface:TemplateLoaderResolve a relative location to an absolute location.- Specified by:
resolvein interfaceTemplateLoader- Parameters:
location- The candidate location.- Returns:
- Resolve the uri to an absolute location.
-
getPrefix
public String getPrefix()
- Specified by:
getPrefixin interfaceTemplateLoader- Returns:
- The prefix that gets prepended to view names when building a URI.
-
getSuffix
public String getSuffix()
- Specified by:
getSuffixin interfaceTemplateLoader- Returns:
- The suffix that gets appended to view names when building a URI.
-
setPrefix
public void setPrefix(String prefix)
Description copied from interface:TemplateLoaderSet the prefix that gets prepended to view names when building a URI.- Specified by:
setPrefixin interfaceTemplateLoader- Parameters:
prefix- The prefix that gets prepended to view names when building a URI.
-
setSuffix
public void setSuffix(String suffix)
Description copied from interface:TemplateLoaderSet the suffix that gets appended to view names when building a URI.- Specified by:
setSuffixin interfaceTemplateLoader- Parameters:
suffix- The suffix that gets appended to view names when building a URI.
-
getDelegates
public Iterable<TemplateLoader> getDelegates()
Returns the delegates template loaders.- Returns:
- The delegates template loaders.
-
-