|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectfreemarker.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 null| Method Detail |
|---|
public java.lang.String getName()
public java.util.List<Identifier> getArgumentNames()
public boolean testEndInstruction(Instruction endInstruction)
EndInstruction?
testEndInstruction in interface ContainerInstructionendInstruction - 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 InstructioncallBuilder in class GenericStartInstructionbuilder - the TemplateBuilder to be called back
ParseExceptionpublic TemplateFunctionModel getFunction(java.lang.String name)
CallInstructions at run-time.
getFunction in interface FunctionTemplateProcessorname - 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 FunctionTemplateProcessorSet 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 FunctionTemplateProcessorname - 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 compiled
public TemplateProcessor.ExitStatus process(TemplateProcessorParameters p)
throws java.io.IOException
<function ... > and
outputs the resulting text to a Writer.
process in interface TemplateProcessorp - template processing parameters
java.io.IOException - an IO error occurred during processingpublic java.lang.String toString()
toString in class java.lang.ObjectString representing this instruction subtree
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||