<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.4.2_16) on Fri Nov 19 12:15:43 PST 2010 --> <TITLE> RuntimeMacro (Velocity 1.7 API) </TITLE> <META NAME="keywords" CONTENT="org.apache.velocity.runtime.directive.RuntimeMacro class"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { parent.document.title="RuntimeMacro (Velocity 1.7 API)"; } </SCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RuntimeMacro.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/velocity/runtime/directive/Parse.html" title="class in org.apache.velocity.runtime.directive"><B>PREV CLASS</B></A> <A HREF="../../../../../org/apache/velocity/runtime/directive/Scope.html" title="class in org.apache.velocity.runtime.directive"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="RuntimeMacro.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> org.apache.velocity.runtime.directive</FONT> <BR> Class RuntimeMacro</H2> <PRE> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A> <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">org.apache.velocity.runtime.directive.Directive</A> <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.velocity.runtime.directive.RuntimeMacro</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/DirectiveConstants.html" title="interface in org.apache.velocity.runtime.directive">DirectiveConstants</A></DD> </DL> <HR> <DL> <DT>public class <B>RuntimeMacro</B><DT>extends <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></DL> <P> This class acts as a proxy for potential macros. When the AST is built this class is inserted as a placeholder for the macro (whether or not the macro is actually defined). At render time we check whether there is a implementation for the macro call. If an implementation cannot be found the literal text is rendered. <P> <P> <DL> <DT><B>Since:</B></DT> <DD>1.6</DD> </DL> <HR> <P> <!-- ======== NESTED CLASS SUMMARY ======== --> <!-- =========== FIELD SUMMARY =========== --> <A NAME="field_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TD COLSPAN=2><FONT SIZE="+2"> <B>Field Summary</B></FONT></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#strictRef">strictRef</A></B></CODE> <BR> Indicates if we are running in strict reference mode.</TD> </TR> </TABLE> <A NAME="fields_inherited_from_class_org.apache.velocity.runtime.directive.Directive"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TD><B>Fields inherited from class org.apache.velocity.runtime.directive.<A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></B></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#rsvc">rsvc</A></CODE></TD> </TR> </TABLE> <A NAME="fields_inherited_from_class_org.apache.velocity.runtime.directive.DirectiveConstants"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TD><B>Fields inherited from interface org.apache.velocity.runtime.directive.<A HREF="../../../../../org/apache/velocity/runtime/directive/DirectiveConstants.html" title="interface in org.apache.velocity.runtime.directive">DirectiveConstants</A></B></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/DirectiveConstants.html#BLOCK">BLOCK</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/DirectiveConstants.html#LINE">LINE</A></CODE></TD> </TR> </TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TD COLSPAN=2><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#RuntimeMacro(java.lang.String)">RuntimeMacro</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> macroName)</CODE> <BR> Create a RuntimeMacro instance.</TD> </TR> </TABLE> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TD COLSPAN=2><FONT SIZE="+2"> <B>Method Summary</B></FONT></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#getName()">getName</A></B>()</CODE> <BR> Return name of this Velocimacro.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#getScopeName()">getScopeName</A></B>()</CODE> <BR> Override to always return "macro".</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#getType()">getType</A></B>()</CODE> <BR> Velocimacros are always LINE type directives.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#init(org.apache.velocity.runtime.RuntimeServices, org.apache.velocity.context.InternalContextAdapter, org.apache.velocity.runtime.parser.node.Node)">init</A></B>(<A HREF="../../../../../org/apache/velocity/runtime/RuntimeServices.html" title="interface in org.apache.velocity.runtime">RuntimeServices</A> rs, <A HREF="../../../../../org/apache/velocity/context/InternalContextAdapter.html" title="interface in org.apache.velocity.context">InternalContextAdapter</A> context, <A HREF="../../../../../org/apache/velocity/runtime/parser/node/Node.html" title="interface in org.apache.velocity.runtime.parser.node">Node</A> node)</CODE> <BR> Intialize the Runtime macro.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)">render</A></B>(<A HREF="../../../../../org/apache/velocity/context/InternalContextAdapter.html" title="interface in org.apache.velocity.context">InternalContextAdapter</A> context, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer, <A HREF="../../../../../org/apache/velocity/runtime/parser/node/Node.html" title="interface in org.apache.velocity.runtime.parser.node">Node</A> node)</CODE> <BR> Velocimacro implementation is not known at the init time.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/velocity/runtime/directive/RuntimeMacro.html#render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node, org.apache.velocity.runtime.Renderable)">render</A></B>(<A HREF="../../../../../org/apache/velocity/context/InternalContextAdapter.html" title="interface in org.apache.velocity.context">InternalContextAdapter</A> context, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer, <A HREF="../../../../../org/apache/velocity/runtime/parser/node/Node.html" title="interface in org.apache.velocity.runtime.parser.node">Node</A> node, <A HREF="../../../../../org/apache/velocity/runtime/Renderable.html" title="interface in org.apache.velocity.runtime">Renderable</A> body)</CODE> <BR> This method is used with BlockMacro when we want to render a macro with a body AST.</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_org.apache.velocity.runtime.directive.Directive"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TD><B>Methods inherited from class org.apache.velocity.runtime.directive.<A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></B></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#getColumn()">getColumn</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#getLine()">getLine</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#getTemplateName()">getTemplateName</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#isScopeProvided()">isScopeProvided</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#makeScope(java.lang.Object)">makeScope</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#postRender(org.apache.velocity.context.InternalContextAdapter)">postRender</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#preRender(org.apache.velocity.context.InternalContextAdapter)">preRender</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#setLocation(int, int)">setLocation</A>, <A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#setLocation(int, int, java.lang.String)">setLocation</A></CODE></TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> </TR> </TABLE> <P> <!-- ============ FIELD DETAIL =========== --> <A NAME="field_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TD COLSPAN=1><FONT SIZE="+2"> <B>Field Detail</B></FONT></TD> </TR> </TABLE> <A NAME="strictRef"><!-- --></A><H3> strictRef</H3> <PRE> protected boolean <B>strictRef</B></PRE> <DL> <DD>Indicates if we are running in strict reference mode. <P> <DL> </DL> </DL> <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TD COLSPAN=1><FONT SIZE="+2"> <B>Constructor Detail</B></FONT></TD> </TR> </TABLE> <A NAME="RuntimeMacro(java.lang.String)"><!-- --></A><H3> RuntimeMacro</H3> <PRE> public <B>RuntimeMacro</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> macroName)</PRE> <DL> <DD>Create a RuntimeMacro instance. Macro name and source template stored for later use. <P> <DT><B>Parameters:</B><DD><CODE>macroName</CODE> - name of the macro</DL> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TD COLSPAN=1><FONT SIZE="+2"> <B>Method Detail</B></FONT></TD> </TR> </TABLE> <A NAME="getName()"><!-- --></A><H3> getName</H3> <PRE> public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE> <DL> <DD>Return name of this Velocimacro. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>The name of this Velocimacro.</DL> </DD> </DL> <HR> <A NAME="getScopeName()"><!-- --></A><H3> getScopeName</H3> <PRE> public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getScopeName</B>()</PRE> <DL> <DD>Override to always return "macro". We don't want to use the macro name here, since when writing VTL that uses the scope, we are within a #macro call. The macro name will instead be used as the scope name when defining the body of a BlockMacro. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#getScopeName()">getScopeName</A></CODE> in class <CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></CODE></DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="getType()"><!-- --></A><H3> getType</H3> <PRE> public int <B>getType</B>()</PRE> <DL> <DD>Velocimacros are always LINE type directives. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#getType()">getType</A></CODE> in class <CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>The type of this directive.</DL> </DD> </DL> <HR> <A NAME="init(org.apache.velocity.runtime.RuntimeServices, org.apache.velocity.context.InternalContextAdapter, org.apache.velocity.runtime.parser.node.Node)"><!-- --></A><H3> init</H3> <PRE> public void <B>init</B>(<A HREF="../../../../../org/apache/velocity/runtime/RuntimeServices.html" title="interface in org.apache.velocity.runtime">RuntimeServices</A> rs, <A HREF="../../../../../org/apache/velocity/context/InternalContextAdapter.html" title="interface in org.apache.velocity.context">InternalContextAdapter</A> context, <A HREF="../../../../../org/apache/velocity/runtime/parser/node/Node.html" title="interface in org.apache.velocity.runtime.parser.node">Node</A> node)</PRE> <DL> <DD>Intialize the Runtime macro. At the init time no implementation so we just save the values to use at the render time. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#init(org.apache.velocity.runtime.RuntimeServices, org.apache.velocity.context.InternalContextAdapter, org.apache.velocity.runtime.parser.node.Node)">init</A></CODE> in class <CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>rs</CODE> - runtime services<DD><CODE>context</CODE> - InternalContextAdapter<DD><CODE>node</CODE> - node containing the macro call</DL> </DD> </DL> <HR> <A NAME="render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)"><!-- --></A><H3> render</H3> <PRE> public boolean <B>render</B>(<A HREF="../../../../../org/apache/velocity/context/InternalContextAdapter.html" title="interface in org.apache.velocity.context">InternalContextAdapter</A> context, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer, <A HREF="../../../../../org/apache/velocity/runtime/parser/node/Node.html" title="interface in org.apache.velocity.runtime.parser.node">Node</A> node) throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>, <A HREF="../../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>, <A HREF="../../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A>, <A HREF="../../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></PRE> <DL> <DD>Velocimacro implementation is not known at the init time. So look for a implementation in the macro libaries and if finds one renders it. The actual rendering is delegated to the VelocimacroProxy object. When looking for a macro we first loot at the template with has the macro call then we look at the macro lbraries in the order they appear in the list. If a macro has many definitions above look up will determine the precedence. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html#render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node)">render</A></CODE> in class <CODE><A HREF="../../../../../org/apache/velocity/runtime/directive/Directive.html" title="class in org.apache.velocity.runtime.directive">Directive</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>context</CODE> - <DD><CODE>writer</CODE> - <DD><CODE>node</CODE> - <DT><B>Returns:</B><DD>true if the rendering is successful <DT><B>Throws:</B> <DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> <DD><CODE><A HREF="../../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> <DD><CODE><A HREF="../../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> <DD><CODE><A HREF="../../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></CODE></DL> </DD> </DL> <HR> <A NAME="render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer, org.apache.velocity.runtime.parser.node.Node, org.apache.velocity.runtime.Renderable)"><!-- --></A><H3> render</H3> <PRE> public boolean <B>render</B>(<A HREF="../../../../../org/apache/velocity/context/InternalContextAdapter.html" title="interface in org.apache.velocity.context">InternalContextAdapter</A> context, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer, <A HREF="../../../../../org/apache/velocity/runtime/parser/node/Node.html" title="interface in org.apache.velocity.runtime.parser.node">Node</A> node, <A HREF="../../../../../org/apache/velocity/runtime/Renderable.html" title="interface in org.apache.velocity.runtime">Renderable</A> body) throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>, <A HREF="../../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>, <A HREF="../../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A>, <A HREF="../../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></PRE> <DL> <DD>This method is used with BlockMacro when we want to render a macro with a body AST. <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>context</CODE> - <DD><CODE>writer</CODE> - <DD><CODE>node</CODE> - <DD><CODE>body</CODE> - AST block that was enclosed in the macro body. <DT><B>Returns:</B><DD>true if the rendering is successful <DT><B>Throws:</B> <DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> <DD><CODE><A HREF="../../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> <DD><CODE><A HREF="../../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> <DD><CODE><A HREF="../../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></CODE></DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RuntimeMacro.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/velocity/runtime/directive/Parse.html" title="class in org.apache.velocity.runtime.directive"><B>PREV CLASS</B></A> <A HREF="../../../../../org/apache/velocity/runtime/directive/Scope.html" title="class in org.apache.velocity.runtime.directive"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="RuntimeMacro.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> Copyright © 2000-2010 <a href=http://www.apache.org/>Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML>