Interface TemplateService
- All Known Implementing Classes:
TemplateServiceImpl
@AlfrescoPublicApi
public interface TemplateService
Template Service.
Provides an interface to services for executing template engine against a template file and data model.
The service provides a configured list of available template engines. The template file can either be in the repository (passed as NodeRef string) or on the classpath. Also a template can be passed directly as a String using the processTemplateString() methods.
The data model is specified to the template engine. The FreeMarker template engine is used by default.
- Author:
- Kevin Roast
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbuildDefaultModel(NodeRef person, NodeRef companyHome, NodeRef userHome, NodeRef template, TemplateImageResolver imageResolver) Helper method to build a default modelgetTemplateProcessor(String engine) Return a TemplateProcessor instance for the specified engine name.processTemplate(String template, Object model) Process a template against the upplied data model and return the result as a string.voidprocessTemplate(String template, Object model, Writer out) Process a template against the supplied data model and write to the out.processTemplate(String engine, String template, Object model) Process a template against the supplied data model and write to the out.voidprocessTemplate(String engine, String template, Object model, Writer out) Process a template against the supplied data model and write to the out.processTemplate(String engine, String templateRef, Object model, Locale locale) Process a template using the supplied locale against the supplied data model and write to the out.processTemplateString(String engine, String template, Object model) Process a given template, provided as a string, against the supplied data model and return the result as a StringvoidprocessTemplateString(String engine, String template, Object model, Writer out) Process a given template, provided as a string, against the supplied data model and report the result back in the provided writer.voidregisterTemplateProcessor(TemplateProcessor templateProcessor) Registers a new template processor with the template service
-
Field Details
-
KEY_IMAGE_RESOLVER
Keys for default model values- See Also:
-
KEY_COMPANY_HOME
- See Also:
-
KEY_USER_HOME
- See Also:
-
KEY_PERSON
- See Also:
-
KEY_TEMPLATE
- See Also:
-
KEY_DATE
- See Also:
-
KEY_SHARE_URL
- See Also:
-
KEY_PRODUCT_NAME
- See Also:
-
-
Method Details
-
processTemplate
@Auditable(parameters={"template","model"}) String processTemplate(String template, Object model) throws TemplateException Process a template against the upplied data model and return the result as a string. The template engine used will be determined by the extension of the template.- Parameters:
template- Template (qualified classpath name or noderef)model- Object model to process template against- Returns:
- output of the template process as a String
- Throws:
TemplateException
-
processTemplate
@Auditable(parameters={"template","model","out"}) void processTemplate(String template, Object model, Writer out) throws TemplateException Process a template against the supplied data model and write to the out. The template engine used will be determined by the extension of the template.- Parameters:
template- Template (qualified classpath name or noderef)model- Object model to process template againstout- Writer object to send output too- Throws:
TemplateException
-
processTemplate
@Auditable(parameters={"engine","template","model"}) String processTemplate(String engine, String template, Object model) throws TemplateException Process a template against the supplied data model and write to the out.- Parameters:
engine- Name of the template engine to usetemplate- Template (qualified classpath name or noderef)model- Object model to process template against- Returns:
- output of the template process as a String
- Throws:
TemplateException
-
processTemplate
@Auditable(parameters={"engine","template","model","out"}) void processTemplate(String engine, String template, Object model, Writer out) throws TemplateException Process a template against the supplied data model and write to the out.- Parameters:
engine- Name of the template engine to usetemplate- Template (qualified classpath name or noderef)model- Object model to process template againstout- Writer object to send output too- Throws:
TemplateException
-
processTemplate
@Auditable(parameters={"engine","template","model","out","locale"}) String processTemplate(String engine, String templateRef, Object model, Locale locale) throws TemplateException Process a template using the supplied locale against the supplied data model and write to the out.- Parameters:
engine- Name of the template engine to usetemplateRef- Template ref (qualified classpath name or noderef)model- Object model to process template againstlocale- Locale to process the template as- Throws:
TemplateException
-
processTemplateString
@Auditable(parameters={"engine","template","model"}) String processTemplateString(String engine, String template, Object model) throws TemplateException Process a given template, provided as a string, against the supplied data model and return the result as a String- Parameters:
engine- Name of the template engine to usetemplate- Template stringmodel- Object model to process template against- Returns:
- output of the template process as a String
- Throws:
TemplateException
-
processTemplateString
@Auditable(parameters={"engine","template","model","out"}) void processTemplateString(String engine, String template, Object model, Writer out) throws TemplateException Process a given template, provided as a string, against the supplied data model and report the result back in the provided writer.- Parameters:
engine- Name of the template engine to usetemplate- Template stringmodel- Object model to process template againstout- Writer object to send output too- Throws:
TemplateException
-
getTemplateProcessor
Return a TemplateProcessor instance for the specified engine name. Note that the processor instance is NOT thread safe!- Parameters:
engine- Name of the template engine to get or null for default- Returns:
- TemplateProcessor
-
registerTemplateProcessor
@Auditable(parameters="templateProcessor") void registerTemplateProcessor(TemplateProcessor templateProcessor) Registers a new template processor with the template service- Parameters:
templateProcessor- the template processor to register
-
buildDefaultModel
@Auditable(parameters={"person","companyHome","userHome","template","imageResolver"}) Map<String,Object> buildDefaultModel(NodeRef person, NodeRef companyHome, NodeRef userHome, NodeRef template, TemplateImageResolver imageResolver) Helper method to build a default model- Parameters:
person- the person node referencecompanyHome- the company home node refereenceuserHome- the user home node referencetemplate- the node ref for the template (optional)imageResolver- the image resolver (optional)- Returns:
- Map
-