|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--freemarker.template.instruction.GenericStartInstruction | +--freemarker.template.instruction.FunctionInstruction
An instruction representing a function definition. Function calls are
represented by the CallInstruction
class.
Unlike other instructions, FunctionInstruction
is not
added directly to the TemplateProcessor
chain.
Instead, instances are added directly to the template using the
FunctionTemplateProcessor.addFunction(freemarker.template.instruction.FunctionInstruction)
method.
At run time, these functions can be added to the data model for speedy
lookup.
At compile time, instances of FunctionInstruction
are
replaced by NOOPInstruction
, so that the
TemplateProcessor
tree doesn't have to deal
with null values.
Fields inherited from class freemarker.template.instruction.GenericStartInstruction |
body |
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 | |
FunctionInstruction(Identifier name,
java.util.List arguments)
Constructor for a function definition. |
Method Summary | |
TemplateProcessor |
callBuilder(TemplateBuilder builder)
Call the TemplateBuilder with
this comment instruction. |
java.util.List |
getArgumentNames()
Retrieve a list of argument names. |
java.lang.String |
getName()
Retrieve the function name. |
void |
process(TemplateModelRoot modelRoot,
java.io.Writer out,
TemplateRuntimeHandler eventHandler)
Processes the contents of this <function ... |
boolean |
testEndInstruction(Instruction endInstruction)
Is this the right kind of instruction for the given EndInstruction ? |
java.lang.String |
toString()
Returns a string representation of the object. |
Methods inherited from class freemarker.template.instruction.GenericStartInstruction |
getEndType, isEndInstruction, setBody |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public FunctionInstruction(Identifier name, java.util.List arguments)
name
- the name of the functionarguments
- a List of Identifiers containing the names of each
of the argumentsNullPointerException
- the name or argument list is nullMethod Detail |
public java.lang.String getName()
public java.util.List getArgumentNames()
public boolean testEndInstruction(Instruction endInstruction)
EndInstruction
?endInstruction
- the end instruction we're testingtrue
if the EndInstruction
is a
function end instruction, otherwise false
public TemplateProcessor callBuilder(TemplateBuilder builder) throws ParseException
TemplateBuilder
with
this comment instruction.callBuilder
in class GenericStartInstruction
builder
- the TemplateBuilder
to be called backpublic void process(TemplateModelRoot modelRoot, java.io.Writer out, TemplateRuntimeHandler eventHandler) throws java.io.IOException
<function ... >
and
outputs the resulting text to a Writer
.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.public java.lang.String toString()
toString
in class java.lang.Object
String
representing this instruction subtree
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |