org.apache.velocity.runtime.directive
Class Macro
- Cloneable, DirectiveConstants
Macro.java
Macro implements the macro definition directive of VTL.
example :
#macro( isnull $i )
#if( $i )
$i
#end
#end
This object is used at parse time to mainly process and register the
macro. It is used inline in the parser when processing a directive.
Version:
- Geir Magnusson Jr.
private static List | getASTAsStringArray(Node rootNode) - Returns an array of the literal rep of the AST
|
private static String[] | getArgArray(Node node) - creates an array containing the literal
strings in the macro arguement
|
String | getName() - Return name of this directive.
|
int | getType() - Return type of this directive.
|
void | init(RuntimeServices rs, InternalContextAdapter context, Node node)
|
static void | processAndRegister(RuntimeServices rs, Node node, String sourceTemplate) - Used by Parser.java to process VMs withing the parsing process
processAndRegister() doesn't actually render the macro to the output
Processes the macro body into the internal representation used by the
VelocimacroProxy objects, and if not currently used, adds it
to the macro Factory
|
boolean | render(InternalContextAdapter context, Writer writer, Node node) - render() doesn't do anything in the final output rendering.
|
debugMode
private static boolean debugMode
getASTAsStringArray
private static List getASTAsStringArray(Node rootNode)
Returns an array of the literal rep of the AST
getArgArray
private static String[] getArgArray(Node node)
creates an array containing the literal
strings in the macro arguement
getName
public String getName()
Return name of this directive.
- getName in interface Directive
getType
public int getType()
Return type of this directive.
- getType in interface Directive
processAndRegister
public static void processAndRegister(RuntimeServices rs,
Node node,
String sourceTemplate)
throws IOException,
ParseException
Used by Parser.java to process VMs withing the parsing process
processAndRegister() doesn't actually render the macro to the output
Processes the macro body into the internal representation used by the
VelocimacroProxy objects, and if not currently used, adds it
to the macro Factory
render
public boolean render(InternalContextAdapter context,
Writer writer,
Node node)
throws IOException
render() doesn't do anything in the final output rendering.
There is no output from a #macro() directive.
- render in interface Directive
Copyright B) 2002 Apache Software Foundation. All Rights Reserved.