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 Detail

      • 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