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 Details

  • 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 against
      out - 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 use
      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={"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 use
      template - Template (qualified classpath name or noderef)
      model - Object model to process template against
      out - 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 use
      templateRef - Template ref (qualified classpath name or noderef)
      model - Object model to process template against
      locale - 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 use
      template - Template string
      model - 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 use
      template - Template string
      model - Object model to process template against
      out - Writer object to send output too
      Throws:
      TemplateException
    • getTemplateProcessor

      @Auditable(parameters="engine") TemplateProcessor getTemplateProcessor(String engine)
      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 reference
      companyHome - the company home node refereence
      userHome - the user home node reference
      template - the node ref for the template (optional)
      imageResolver - the image resolver (optional)
      Returns:
      Map