freemarker.template.instruction
Class IncludeInstruction

java.lang.Object
  extended by freemarker.template.instruction.EmptyInstruction
      extended by freemarker.template.instruction.IncludeInstruction
All Implemented Interfaces:
Instruction, TemplateProcessor, java.io.Serializable

public final class IncludeInstruction
extends EmptyInstruction
implements java.io.Serializable

An instruction that gets another template from a Cache, and processes it within the current template.

Version:
$Id: IncludeInstruction.java 1162 2013-04-20 12:04:32Z run2000 $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface freemarker.template.instruction.Instruction
Instruction.EndType
 
Nested classes/interfaces inherited from interface freemarker.template.TemplateProcessor
TemplateProcessor.ExitStatus
 
Constructor Summary
IncludeInstruction(TemplateProcessor template, Expression name)
          Constructor that takes the originating template and the name of the template to be included.
IncludeInstruction(TemplateProcessor template, Expression name, Expression type)
          Constructor that takes the originating template, the name of the template to be included and the type of template.
 
Method Summary
 TemplateProcessor.ExitStatus process(TemplateProcessorParameters p)
          Evaluate the template being included by this instruction.
 java.lang.String toString()
          Returns a string representation of the object.
 
Methods inherited from class freemarker.template.instruction.EmptyInstruction
callBuilder, getEndType, isEndInstruction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IncludeInstruction

public IncludeInstruction(TemplateProcessor template,
                          Expression name)
Constructor that takes the originating template and the name of the template to be included.

Parameters:
template - the template that this Include is a part of. Provided so that the instruction can locate a Cache instance.
name - the name, in the TemplateCache, of the template to be included.
Throws:
java.lang.NullPointerException - template or template name are null
java.lang.IllegalArgumentException - template name is not a string or number

IncludeInstruction

public IncludeInstruction(TemplateProcessor template,
                          Expression name,
                          Expression type)
Constructor that takes the originating template, the name of the template to be included and the type of template.

Parameters:
template - the template that this Include is a part of.
name - the name, in the TemplateCache, of the template to be included.
type - the type of the template, as known by the TemplateRegistry, or null
Throws:
java.lang.NullPointerException - template or template name are null
java.lang.IllegalArgumentException - template name is not a string or number, or template type is not null, a string, or a number
Method Detail

process

public TemplateProcessor.ExitStatus process(TemplateProcessorParameters p)
                                     throws java.io.IOException
Evaluate the template being included by this instruction.

Specified by:
process in interface TemplateProcessor
Parameters:
p - template processing parameters
Returns:
an exit code indicating how the process terminated, typically used for short-circuiting template processing
Throws:
java.io.IOException - an IO error occurred during processing

toString

public java.lang.String toString()
Returns a string representation of the object.

Overrides:
toString in class java.lang.Object
Returns:
a String representing this instruction subtree