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
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​java.lang.Object> buildDefaultModel​(org.alfresco.service.cmr.repository.NodeRef person, org.alfresco.service.cmr.repository.NodeRef companyHome, org.alfresco.service.cmr.repository.NodeRef userHome, org.alfresco.service.cmr.repository.NodeRef template, TemplateImageResolver imageResolver)
      Helper method to build a default model
      TemplateProcessor getTemplateProcessor​(java.lang.String engine)
      Return a TemplateProcessor instance for the specified engine name.
      java.lang.String processTemplate​(java.lang.String template, java.lang.Object model)
      Process a template against the upplied data model and return the result as a string.
      void processTemplate​(java.lang.String template, java.lang.Object model, java.io.Writer out)
      Process a template against the supplied data model and write to the out.
      java.lang.String processTemplate​(java.lang.String engine, java.lang.String template, java.lang.Object model)
      Process a template against the supplied data model and write to the out.
      void processTemplate​(java.lang.String engine, java.lang.String template, java.lang.Object model, java.io.Writer out)
      Process a template against the supplied data model and write to the out.
      java.lang.String processTemplate​(java.lang.String engine, java.lang.String templateRef, java.lang.Object model, java.util.Locale locale)
      Process a template using the supplied locale against the supplied data model and write to the out.
      java.lang.String processTemplateString​(java.lang.String engine, java.lang.String template, java.lang.Object model)
      Process a given template, provided as a string, against the supplied data model and return the result as a String
      void processTemplateString​(java.lang.String engine, java.lang.String template, java.lang.Object model, java.io.Writer out)
      Process a given template, provided as a string, against the supplied data model and report the result back in the provided writer.
      void registerTemplateProcessor​(TemplateProcessor templateProcessor)
      Registers a new template processor with the template service
    • Method Detail

      • processTemplate

        @Auditable(parameters={"template","model"})
        java.lang.String processTemplate​(java.lang.String template,
                                         java.lang.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​(java.lang.String template,
                             java.lang.Object model,
                             java.io.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"})
        java.lang.String processTemplate​(java.lang.String engine,
                                         java.lang.String template,
                                         java.lang.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​(java.lang.String engine,
                             java.lang.String template,
                             java.lang.Object model,
                             java.io.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"})
        java.lang.String processTemplate​(java.lang.String engine,
                                         java.lang.String templateRef,
                                         java.lang.Object model,
                                         java.util.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"})
        java.lang.String processTemplateString​(java.lang.String engine,
                                               java.lang.String template,
                                               java.lang.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​(java.lang.String engine,
                                   java.lang.String template,
                                   java.lang.Object model,
                                   java.io.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​(java.lang.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"})
        java.util.Map<java.lang.String,​java.lang.Object> buildDefaultModel​(org.alfresco.service.cmr.repository.NodeRef person,
                                                                                 org.alfresco.service.cmr.repository.NodeRef companyHome,
                                                                                 org.alfresco.service.cmr.repository.NodeRef userHome,
                                                                                 org.alfresco.service.cmr.repository.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