freemarker.template
Class UnparsedTemplate

java.lang.Object
  extended by freemarker.template.AbstractTemplate
      extended by freemarker.template.UnparsedTemplate
All Implemented Interfaces:
Cacheable, Compileable, TemplateProcessor, java.io.Serializable, java.lang.Cloneable

public class UnparsedTemplate
extends AbstractTemplate
implements java.io.Serializable

An UnparsedTemplate consists only of text. No logic beyond simple outputting is performed.

You can pass the filename of the template to the constructor, in which case it is read immediately. Once read, the unparsed template is stored in an an character array for later use.

To process the unparsed template, call the process(freemarker.template.TemplateWriteableHashModel, java.io.Writer, freemarker.template.TemplateRuntimeHandler) method, which takes an optional tree of TemplateModel objects as its data model. The root node of the tree must be a TemplateWriteableHashModel.

Any error messages will be included as HTML comments in the output.

To facilitate multithreading, UnparsedTemplate objects are immutable; if you need to recompile a template, you must make a new UnparsedTemplate object. In most cases, it will be sufficient to let a TemplateCache do this for you.

Version:
$Id: UnparsedTemplate.java 1176 2005-10-10 13:24:29Z run2000 $
See Also:
TemplateCache, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface freemarker.template.TemplateProcessor
TemplateProcessor.ExitStatus
 
Field Summary
protected  char[] templateText
          The unparsed template text.
 
Fields inherited from class freemarker.template.AbstractTemplate
cache
 
Constructor Summary
UnparsedTemplate()
          Constructs an empty unparsed template.
UnparsedTemplate(java.io.File file)
          Deprecated. use the InputSource contructor to supply source streams to the template compiler
UnparsedTemplate(InputSource source)
          Constructs an unparsed template by compiling it from an InputSource.
UnparsedTemplate(java.io.InputStream stream)
          Deprecated. use the InputSource contructor to supply source streams to the template compiler
UnparsedTemplate(java.io.Reader stream)
          Deprecated. use the InputSource contructor to supply source streams to the template compiler
UnparsedTemplate(java.lang.String filePath)
          Deprecated. use the InputSource contructor to supply source streams to the template compiler
 
Method Summary
 void compile(InputSource source)
          Compiles the template from an InputSource.
 boolean equals(java.lang.Object o)
          Tests this object for equality with the given object.
 int hashCode()
          Retrieve the hash code for this object
 void process(TemplateWriteableHashModel modelRoot, java.io.Writer out)
          Processes the template, using data from a template model, and outputs the resulting text to a Writer.
 TemplateProcessor.ExitStatus process(TemplateWriteableHashModel modelRoot, java.io.Writer out, TemplateRuntimeHandler eventHandler)
          Processes the contents of this UnparsedTemplate and outputs the resulting text to a Writer.
 void process(java.io.Writer out)
          Processes the template, using an empty data model, and outputs the resulting text to a Writer.
 java.lang.String toString()
          Return the String value of this object
 
Methods inherited from class freemarker.template.AbstractTemplate
clone, compileFromFile, compileFromFile, compileFromStream, compileFromStream, compileFromStream, getCache, setCache
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

templateText

protected char[] templateText
The unparsed template text.

Constructor Detail

UnparsedTemplate

public UnparsedTemplate()
Constructs an empty unparsed template.


UnparsedTemplate

public UnparsedTemplate(InputSource source)
                 throws java.io.IOException
Constructs an unparsed template by compiling it from an InputSource. Calls compile().

Parameters:
source - the source of the template file to be compiled.
Throws:
java.io.IOException

UnparsedTemplate

@Deprecated
public UnparsedTemplate(java.lang.String filePath)
                 throws java.io.IOException
Deprecated. use the InputSource contructor to supply source streams to the template compiler

Constructs an unparsed template by compiling it from a file. Calls compileFromFile().

Parameters:
filePath - the absolute path of the template file to be compiled.
Throws:
java.io.IOException

UnparsedTemplate

@Deprecated
public UnparsedTemplate(java.io.File file)
                 throws java.io.IOException
Deprecated. use the InputSource contructor to supply source streams to the template compiler

Constructs an unparsed template by compiling it from a file. Calls compileFromFile().

Parameters:
file - a File representing the template file to be compiled.
Throws:
java.io.IOException

UnparsedTemplate

@Deprecated
public UnparsedTemplate(java.io.InputStream stream)
                 throws java.io.IOException
Deprecated. use the InputSource contructor to supply source streams to the template compiler

Constructs an unparsed template by compiling it from an InputStream. Calls compileFromStream().

Parameters:
stream - an InputStream from which the template can be read.
Throws:
java.io.IOException

UnparsedTemplate

@Deprecated
public UnparsedTemplate(java.io.Reader stream)
                 throws java.io.IOException
Deprecated. use the InputSource contructor to supply source streams to the template compiler

Constructs an unparsed template by compiling it from a Reader. Calls compileFromStream().

Parameters:
stream - a Reader from which the template can be read.
Throws:
java.io.IOException
Method Detail

compile

public void compile(InputSource source)
             throws java.io.IOException,
                    java.lang.IllegalArgumentException
Compiles the template from an InputSource. If the template has already been compiled, this method does nothing. Calls AbstractTemplate.compileFromStream(java.io.Reader) to perform parsing.

Specified by:
compile in interface Compileable
Specified by:
compile in class AbstractTemplate
Parameters:
source - an InputSource from which the template can be read.
Throws:
java.io.IOException
java.lang.IllegalArgumentException

process

public TemplateProcessor.ExitStatus process(TemplateWriteableHashModel modelRoot,
                                            java.io.Writer out,
                                            TemplateRuntimeHandler eventHandler)
                                     throws java.io.IOException
Processes the contents of this UnparsedTemplate and outputs the resulting text to a Writer.

Specified by:
process in interface TemplateProcessor
Specified by:
process in class AbstractTemplate
Parameters:
modelRoot - the root node of the data model.
out - a Writer to send the output to.
eventHandler - a TemplateEventAdapter for handling any events that occur during processing.
Returns:
an exit code indicating how the process terminated, typically used for short-circuiting template processing
Throws:
java.io.IOException - an IO error occurred with the Writer during processing

process

public void process(TemplateWriteableHashModel modelRoot,
                    java.io.Writer out)
             throws java.io.IOException
Processes the template, using data from a template model, and outputs the resulting text to a Writer.

Specified by:
process in class AbstractTemplate
Parameters:
modelRoot - the root node of the data model.
out - a Writer to output the text to.
Throws:
java.io.IOException

process

public void process(java.io.Writer out)
             throws java.io.IOException
Processes the template, using an empty data model, and outputs the resulting text to a Writer.

Specified by:
process in class AbstractTemplate
Parameters:
out - a Writer to output the text to.
Throws:
java.io.IOException

toString

public java.lang.String toString()
Return the String value of this object

Overrides:
toString in class java.lang.Object
Returns:
the template text, if any, of this object

equals

public boolean equals(java.lang.Object o)
Tests this object for equality with the given object.

Overrides:
equals in class java.lang.Object
Parameters:
o - the object to be compared against
Returns:
true if the two objects are equal, otherwise false

hashCode

public int hashCode()
Retrieve the hash code for this object

Overrides:
hashCode in class java.lang.Object
Returns:
a hash value corresponding to the value of this object