org.apache.velocity
Class Template

java.lang.Object
  extended by org.apache.velocity.runtime.resource.Resource
      extended by org.apache.velocity.Template

public class Template
extends Resource

This class is used for controlling all template operations. This class uses a parser created by JavaCC to create an AST that is subsequently traversed by a Visitor.

 // set up and initialize Velocity before this code block

 Template template = Velocity.getTemplate("test.wm");
 Context context = new VelocityContext();

 context.put("foo", "bar");
 context.put("customer", new Customer());

 template.merge(context, writer);
 

Version:
$Id: Template.java 209534 2005-07-06 22:49:27Z wglass $
Author:
Jason van Zyl, Geir Magnusson Jr.

Field Summary
 
Fields inherited from class org.apache.velocity.runtime.resource.Resource
data, encoding, lastModified, MILLIS_PER_SECOND, modificationCheckInterval, name, nextCheck, resourceLoader, rsvc
 
Constructor Summary
Template()
          Default constructor
 
Method Summary
 void initDocument()
          initializes the document.
 void merge(Context context, Writer writer)
          The AST node structure is merged with the context to produce the final output.
 boolean process()
          gets the named resource as a stream, parses and inits
 
Methods inherited from class org.apache.velocity.runtime.resource.Resource
getData, getEncoding, getLastModified, getName, getResourceLoader, isSourceModified, requiresChecking, setData, setEncoding, setLastModified, setModificationCheckInterval, setName, setResourceLoader, setRuntimeServices, touch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Template

public Template()
Default constructor

Method Detail

process

public boolean process()
                throws ResourceNotFoundException,
                       ParseErrorException,
                       Exception
gets the named resource as a stream, parses and inits

Specified by:
process in class Resource
Returns:
true if successful
Throws:
ResourceNotFoundException - if template not found from any available source.
ParseErrorException - if template cannot be parsed due to syntax (or other) error.
Exception - some other problem, should only be from initialization of the template AST.

initDocument

public void initDocument()
                  throws Exception
initializes the document. init() is not longer dependant upon context, but we need to let the init() carry the template name down throught for VM namespace features

Throws:
Exception

merge

public void merge(Context context,
                  Writer writer)
           throws ResourceNotFoundException,
                  ParseErrorException,
                  MethodInvocationException,
                  Exception
The AST node structure is merged with the context to produce the final output. Throws IOException if failure is due to a file related issue, and Exception otherwise

Parameters:
context - Context with data elements accessed by template
writer - output writer for rendered template
Throws:
ResourceNotFoundException - if template not found from any available source.
ParseErrorException - if template cannot be parsed due to syntax (or other) error.
Exception - anything else.
MethodInvocationException


Copyright © 2002 Apache Software Foundation. All Rights Reserved.