|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object freemarker.template.instruction.GenericStartInstruction freemarker.template.instruction.FunctionInstruction
public final class 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(java.lang.String, freemarker.template.instruction.TemplateFunctionModel)
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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface freemarker.template.TemplateProcessor |
---|
TemplateProcessor.ExitStatus |
Nested classes/interfaces inherited from interface freemarker.template.instruction.Instruction |
---|
Instruction.EndType |
Field Summary |
---|
Fields inherited from class freemarker.template.instruction.GenericStartInstruction |
---|
body |
Constructor Summary | |
---|---|
FunctionInstruction(Identifier name,
java.util.List<Identifier> arguments)
Constructor for a function definition. |
Method Summary | |
---|---|
void |
addFunction(java.lang.String name,
TemplateFunctionModel function)
Adds an inner function to this function. |
TemplateProcessor |
callBuilder(TemplateBuilder builder)
Call the TemplateBuilder with
this function instruction. |
java.util.List<Identifier> |
getArgumentNames()
Retrieve a list of argument names. |
TemplateFunctionModel |
getFunction(java.lang.String name)
Retrieves an inner function from this function. |
java.util.Set<java.lang.String> |
getFunctionNames()
Retrieve a Set of inner function names for this function. |
java.lang.String |
getName()
Retrieve the function name. |
TemplateProcessor.ExitStatus |
process(TemplateProcessorParameters p)
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<Identifier> arguments)
name
- the name of the functionarguments
- a List of Identifiers containing the names of each
of the arguments
java.lang.NullPointerException
- the name or argument list is nullMethod Detail |
---|
public java.lang.String getName()
public java.util.List<Identifier> getArgumentNames()
public boolean testEndInstruction(Instruction endInstruction)
EndInstruction
?
testEndInstruction
in interface ContainerInstruction
endInstruction
- the end instruction we're testing
true
if the EndInstruction
is a
function end instruction, otherwise false
public TemplateProcessor callBuilder(TemplateBuilder builder) throws ParseException
TemplateBuilder
with
this function instruction.
callBuilder
in interface Instruction
callBuilder
in class GenericStartInstruction
builder
- the TemplateBuilder
to be called back
ParseException
public TemplateFunctionModel getFunction(java.lang.String name)
CallInstruction
s at run-time.
getFunction
in interface FunctionTemplateProcessor
name
- the name of the function to be retrievedpublic java.util.Set<java.lang.String> getFunctionNames()
Set
of inner function names for this function.
getFunctionNames
in interface FunctionTemplateProcessor
Set
of inner function names (String
objects)
that have been defined for this template.public void addFunction(java.lang.String name, TemplateFunctionModel function) throws java.lang.IllegalStateException
TemplateBuilder
at compile-time.
addFunction
in interface FunctionTemplateProcessor
name
- the name of the function to be storedfunction
- the inner function to be stored by this function
java.lang.IllegalStateException
- the method has been called after the
template has been compiledpublic TemplateProcessor.ExitStatus process(TemplateProcessorParameters p) throws java.io.IOException
<function ... >
and
outputs the resulting text to a Writer
.
process
in interface TemplateProcessor
p
- template processing parameters
java.io.IOException
- an IO error occurred during processingpublic java.lang.String toString()
toString
in class java.lang.Object
String
representing this instruction subtree
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |