freemarker.template.instruction
Class SwitchInstruction
java.lang.Object
|
+--freemarker.template.instruction.SwitchInstruction
- All Implemented Interfaces:
- Instruction, java.io.Serializable, TemplateProcessor
- public final class SwitchInstruction
- extends java.lang.Object
- implements Instruction, TemplateProcessor, java.io.Serializable
An instruction representing a switch-case structure.
- Version:
- $Id: SwitchInstruction.java,v 1.30 2003/11/27 11:36:45 run2000 Exp $
- See Also:
- Serialized Form
Fields inherited from interface freemarker.template.instruction.Instruction |
BREAK, CASE, COMMENT_END, COMPRESS_END, DEFAULT, ELSE, ELSEIF, FOREACH_END, FUNCTION_END, IF_END, LIST_END, NONE, NOPARSE_END, SWITCH_END, TRANSFORM_END |
Constructor Summary |
SwitchInstruction(Expression testExpression)
Constructor that takes an expression to be evaluated when testing
each of the case statements. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SwitchInstruction
public SwitchInstruction(Expression testExpression)
- Constructor that takes an expression to be evaluated when testing
each of the
case
statements.
- Parameters:
testExpression
- the expression to be tested.- Throws:
NullPointerException
- the test expression was nulljava.lang.IllegalArgumentException
- the testExpression was not a scalar or number
addCase
public void addCase(DefaultCaseInstruction caseInstruction)
- Adds a case instruction to the switch.
- Parameters:
caseInstruction
- a CaseInstruction
to be evaluated.
isEndInstruction
public boolean isEndInstruction()
- Is this an end instruction?
- Specified by:
isEndInstruction
in interface Instruction
- Returns:
false
, indicating that this is not an end instruction
getEndType
public int getEndType()
- Determine what type of end instruction this is, if any.
- Specified by:
getEndType
in interface Instruction
- Returns:
NONE
, indicating that this is not an end instruction
callBuilder
public TemplateProcessor callBuilder(TemplateBuilder builder)
throws ParseException
- A
TemplateBuilder
can call
this method to have an Instruction
call it back to be built.
This implementation calls the
TemplateBuilder.buildStatement(SwitchInstruction)
method, passing back a reference to itself. This approach is intended
to make type-checking of Instruction
objects unnecessary.
- Specified by:
callBuilder
in interface Instruction
- Parameters:
builder
- the builder to be called back by this method
process
public void process(TemplateModelRoot modelRoot,
java.io.Writer out,
TemplateRuntimeHandler eventHandler)
throws java.io.IOException
- Process this
<switch ... >
instruction.
- Specified by:
process
in interface TemplateProcessor
- 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.
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