org.alfresco.service.cmr.repository
Interface TemplateService

All Known Implementing Classes:
TemplateServiceImpl

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.


Field Summary
static java.lang.String KEY_COMPANY_HOME
           
static java.lang.String KEY_DATE
           
static java.lang.String KEY_IMAGE_RESOLVER
          Keys for default model values
static java.lang.String KEY_PERSON
           
static java.lang.String KEY_PRODUCT_NAME
           
static java.lang.String KEY_SHARE_URL
           
static java.lang.String KEY_TEMPLATE
           
static java.lang.String KEY_USER_HOME
           
 
Method Summary
 java.util.Map 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 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
 

Field Detail

KEY_IMAGE_RESOLVER

static final java.lang.String KEY_IMAGE_RESOLVER
Keys for default model values

See Also:
Constant Field Values

KEY_COMPANY_HOME

static final java.lang.String KEY_COMPANY_HOME
See Also:
Constant Field Values

KEY_USER_HOME

static final java.lang.String KEY_USER_HOME
See Also:
Constant Field Values

KEY_PERSON

static final java.lang.String KEY_PERSON
See Also:
Constant Field Values

KEY_TEMPLATE

static final java.lang.String KEY_TEMPLATE
See Also:
Constant Field Values

KEY_DATE

static final java.lang.String KEY_DATE
See Also:
Constant Field Values

KEY_SHARE_URL

static final java.lang.String KEY_SHARE_URL
See Also:
Constant Field Values

KEY_PRODUCT_NAME

static final java.lang.String KEY_PRODUCT_NAME
See Also:
Constant Field Values
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

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 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:


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.