public abstract class BaseTemplate extends Object
All templates compiled through MarkupTemplateEngine extend this abstract class, which provides a number of utility methods to generate markup. An instance of this class can be obtained after calling Template.make or Template.make)} on a template generated by MarkupTemplateEngine.createTemplate.
It is advised to use a distinct template instance for each thread (or more simply, each rendered document) for thread safety and avoiding mixing models.
For the application needs, it is possible to provide more helper methods by extending this class and configuring the base template class using the TemplateConfiguration.setBaseTemplateClass method.
Constructor and description |
---|
BaseTemplate
(MarkupTemplateEngine templateEngine, Map model, Map modelTypes, TemplateConfiguration configuration) |
Type | Name and description |
---|---|
BaseTemplate |
comment(Object cs) Renders the supplied object using its Object.toString method inside a comment markup block (<! |
Map |
getModel() |
Writer |
getOut() Convenience method to return the current writer instance. |
void |
includeEscaped(String templatePath) Includes contents of another file, not as a template but as escaped text. |
void |
includeGroovy(String templatePath) Includes another template inside this template. |
void |
includeUnescaped(String templatePath) Includes contents of another file, not as a template but as unescaped text. |
Object |
methodMissing(String tagName, Object args) This is the main method responsible for writing a tag and its attributes. |
void |
newLine() Adds a new line to the output. |
BaseTemplate |
pi(Map attrs) |
Object |
run() |
Object |
tryEscape(Object contents) Escapes the string representation of the supplied object if it derives from CharSequence, otherwise returns the object itself. |
Writer |
writeTo(Writer out) Main method used to render a template. |
BaseTemplate |
xmlDeclaration() Renders an XML declaration header. |
BaseTemplate |
yield(Object obj) Renders the object provided as parameter using its Object.toString method, The contents is rendered after being escaped for XML, enforcing valid XML output. |
BaseTemplate |
yieldUnescaped(Object obj) Renders the object provided as parameter using its Object.toString method, The contents is rendered as is, unescaped. |
Renders the supplied object using its Object.toString method inside a comment markup block (<!-- ... -->). The object is rendered as is, unescaped.
cs
- the object to be rendered inside an XML comment block.Convenience method to return the current writer instance.
Includes contents of another file, not as a template but as escaped text.
Includes another template inside this template.
templatePath
- the path to the included resource.Includes contents of another file, not as a template but as unescaped text.
This is the main method responsible for writing a tag and its attributes. The arguments may be:
or a combination of (attributes,string), (attributes,closure)
tagName
- the name of the tagargs
- tag generation arguments.Adds a new line to the output. The new line string can be configured by TemplateConfiguration.setNewLineString
Renders processing instructions. The supplied map contains all elements to be rendered as processing instructions. The key is the name of the element, the value is either a map of attributes, or an object to be rendered directly. For example:
pi("xml-stylesheet":[href:"mystyle.css", type:"text/css"])
will be rendered as:
<?xml-stylesheet href='mystyle.css' type='text/css'?>
Escapes the string representation of the supplied object if it derives from CharSequence, otherwise returns the object itself.
contents
- an object to be escaped for XMLMain method used to render a template.
out
- the Writer to which this Writable should output its data.Renders an XML declaration header. If the declaration encoding is set in the template configuration, then the encoding is rendered into the declaration.
Renders the object provided as parameter using its Object.toString method, The contents is rendered after being escaped for XML, enforcing valid XML output.
obj
- the object to be renderedRenders the object provided as parameter using its Object.toString method, The contents is rendered as is, unescaped. This means that depending on what the Object.toString method call returns, you might create invalid markup.
obj
- the object to be rendered unescapedCopyright © 2003-2014 The Codehaus. All rights reserved.