blob: 4a5ea16c2932c1a439a1de11dca6023c05cb4c0f [file] [log] [blame]
<!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.5.0_14) on Mon Apr 26 10:16:13 PDT 2010 -->
<TITLE>
RenderTool (VelocityTools 2.0 Documentation)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.velocity.tools.generic.RenderTool class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="RenderTool (VelocityTools 2.0 Documentation)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</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=2 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>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/velocity/tools/generic/NumberTool.html" title="class in org.apache.velocity.tools.generic"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/velocity/tools/generic/ResourceTool.html" title="class in org.apache.velocity.tools.generic"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/velocity/tools/generic/RenderTool.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="RenderTool.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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.tools.generic</FONT>
<BR>
Class RenderTool</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">org.apache.velocity.tools.generic.SafeConfig</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.velocity.tools.generic.RenderTool</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/velocity/tools/view/tools/ViewRenderTool.html" title="class in org.apache.velocity.tools.view.tools">ViewRenderTool</A></DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="../../../../../org/apache/velocity/tools/config/DefaultKey.html" title="annotation in org.apache.velocity.tools.config">@DefaultKey</A>(<A HREF="../../../../../org/apache/velocity/tools/config/DefaultKey.html#value()">value</A>="render")
</FONT>public class <B>RenderTool</B><DT>extends <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">SafeConfig</A></DL>
</PRE>
<P>
This tool exposes methods to evaluate the given
strings as VTL (Velocity Template Language)
using either a pre-configured context or one you
provide directly.
<pre>
Example of eval():
Input
-----
#set( $list = [1,2,3] )
#set( $object = '$list' )
#set( $method = 'size()' )
$render.eval("${object}.$method")
Output
------
3
Example of recurse():
Input
-----
#macro( say_hi )hello world!#end
#set( $foo = '#say_hi()' )
#set( $bar = '$foo' )
$render.recurse($bar)
Output
------
hello world!
Toolbox configuration:
&lt;tools&gt;
&lt;toolbox scope="request"&gt;
&lt;tool class="org.apache.velocity.tools.generic.RenderTool"&gt;
&lt;property name="parseDepth" type="number" value="10"/&gt;
&lt;/tool&gt;
&lt;/toolbox&gt;
&lt;/tools&gt;
</pre>
<p>Ok, so these examples are really lame. But, it seems like
someone out there is always asking how to do stuff like this
and we always tell them to write a tool. Now we can just tell
them to use this tool.</p>
<p>This tool may be used in any scope, however, the context provided
for the <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(java.lang.String)"><CODE>eval(String)</CODE></A> and <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#recurse(java.lang.String)"><CODE>recurse(String)</CODE></A> methods
will only be current if the tool is request scoped. If application or
session scoped, then the context will be the same one set at the time
of the tool's first use. In such a case, each call to eval(String) or
recurse(String) will by default create a new Context that wraps the
configured one to prevent modifications to the configured Context
(concurrent or otherwise). If you wish to risk it and accrete changes
then you can relax the thread-safety by setting the 'forceThreadSafe'
property to 'false'. </p>
<p>Of course none of the previous paragraph likely applies if you are
not using the core tool management facilities or if you stick to the
<A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(org.apache.velocity.context.Context, java.lang.String)"><CODE>eval(Context,String)</CODE></A> and <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#recurse(org.apache.velocity.context.Context, java.lang.String)"><CODE>recurse(Context,String)</CODE></A>
methods. :)</p>
<p>This tool by default will catch
and log any exceptions thrown during rendering and
instead return null in such cases. It also limits recursion, by default,
to 20 cycles, to prevent infinite loops. Both settings may be configured
to behave otherwise.</p>
<P>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>$Revision: 671010 $ $Date: 2008-06-23 20:40:41 -0700 (Mon, 23 Jun 2008) $</DD>
<DT><B>Author:</B></DT>
<DD>Nathan Bubna</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#catchExceptions">catchExceptions</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;org.apache.velocity.context.Context</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#context">context</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#DEFAULT_PARSE_DEPTH">DEFAULT_PARSE_DEPTH</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The maximum number of loops allowed when recursing.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;org.apache.velocity.app.VelocityEngine</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#engine">engine</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#forceThreadSafe">forceThreadSafe</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#KEY_CATCH_EXCEPTIONS">KEY_CATCH_EXCEPTIONS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#KEY_FORCE_THREAD_SAFE">KEY_FORCE_THREAD_SAFE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#KEY_PARSE_DEPTH">KEY_PARSE_DEPTH</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#LOG_TAG">LOG_TAG</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#parseDepth">parseDepth</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.velocity.tools.generic.SafeConfig"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.velocity.tools.generic.<A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">SafeConfig</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#LOCK_CONFIG_KEY">LOCK_CONFIG_KEY</A>, <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#OLD_LOCK_CONFIG_KEY">OLD_LOCK_CONFIG_KEY</A>, <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#SAFE_MODE_KEY">SAFE_MODE_KEY</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#RenderTool()">RenderTool</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#configure(org.apache.velocity.tools.generic.ValueParser)">configure</A></B>(<A HREF="../../../../../org/apache/velocity/tools/generic/ValueParser.html" title="class in org.apache.velocity.tools.generic">ValueParser</A>&nbsp;parser)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Looks for deprecated parse depth and catch.exceptions properties,
as well as any 'forceThreadSafe' setting.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#debug(java.lang.String)">debug</A></B>(java.lang.String&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#debug(java.lang.String, java.lang.Throwable)">debug</A></B>(java.lang.String&nbsp;message,
java.lang.Throwable&nbsp;t)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(org.apache.velocity.context.Context, java.lang.String)">eval</A></B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates a String containing VTL using the current context,
and returns the result as a String.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(java.lang.String)">eval</A></B>(java.lang.String&nbsp;vtl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates a String containing VTL using the context passed
to the <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#setVelocityContext(org.apache.velocity.context.Context)"><CODE>setVelocityContext(org.apache.velocity.context.Context)</CODE></A> method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#getCatchExceptions()">getCatchExceptions</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this render() and eval() methods will
catch exceptions thrown during rendering.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#getParseDepth()">getParseDepth</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the maximum number of loops allowed when recursing.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#internalEval(org.apache.velocity.context.Context, java.lang.String)">internalEval</A></B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#internalRecurse(org.apache.velocity.context.Context, java.lang.String, int)">internalRecurse</A></B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl,
int&nbsp;count)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#recurse(org.apache.velocity.context.Context, java.lang.String)">recurse</A></B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursively evaluates a String containing VTL using the
current context, and returns the result as a String.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#recurse(java.lang.String)">recurse</A></B>(java.lang.String&nbsp;vtl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursively evaluates a String containing VTL using the
current context, and returns the result as a String.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#setCatchExceptions(boolean)">setCatchExceptions</A></B>(boolean&nbsp;catchExceptions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether or not the render() and eval() methods should catch
exceptions during their execution or not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#setParseDepth(int)">setParseDepth</A></B>(int&nbsp;depth)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the maximum number of loops allowed when recursing.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#setVelocityContext(org.apache.velocity.context.Context)">setVelocityContext</A></B>(org.apache.velocity.context.Context&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the <CODE>Context</CODE> to be used by the <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(java.lang.String)"><CODE>eval(String)</CODE></A>
and <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#recurse(java.lang.String)"><CODE>recurse(String)</CODE></A> methods.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#setVelocityEngine(org.apache.velocity.app.VelocityEngine)">setVelocityEngine</A></B>(org.apache.velocity.app.VelocityEngine&nbsp;ve)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow user to specify a VelocityEngine to be used
in place of the Velocity singleton.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.velocity.tools.generic.SafeConfig"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.velocity.tools.generic.<A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">SafeConfig</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#configure(java.util.Map)">configure</A>, <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#isConfigLocked()">isConfigLocked</A>, <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#isSafeMode()">isSafeMode</A>, <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#setLockConfig(boolean)">setLockConfig</A>, <A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#setSafeMode(boolean)">setSafeMode</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<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">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="DEFAULT_PARSE_DEPTH"><!-- --></A><H3>
DEFAULT_PARSE_DEPTH</H3>
<PRE>
public static final int <B>DEFAULT_PARSE_DEPTH</B></PRE>
<DL>
<DD>The maximum number of loops allowed when recursing.
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>VelocityTools 1.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.velocity.tools.generic.RenderTool.DEFAULT_PARSE_DEPTH">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="KEY_PARSE_DEPTH"><!-- --></A><H3>
KEY_PARSE_DEPTH</H3>
<PRE>
<FONT SIZE="-1">@Deprecated
</FONT>public static final java.lang.String <B>KEY_PARSE_DEPTH</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.velocity.tools.generic.RenderTool.KEY_PARSE_DEPTH">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="KEY_CATCH_EXCEPTIONS"><!-- --></A><H3>
KEY_CATCH_EXCEPTIONS</H3>
<PRE>
<FONT SIZE="-1">@Deprecated
</FONT>public static final java.lang.String <B>KEY_CATCH_EXCEPTIONS</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.velocity.tools.generic.RenderTool.KEY_CATCH_EXCEPTIONS">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="KEY_FORCE_THREAD_SAFE"><!-- --></A><H3>
KEY_FORCE_THREAD_SAFE</H3>
<PRE>
public static final java.lang.String <B>KEY_FORCE_THREAD_SAFE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.velocity.tools.generic.RenderTool.KEY_FORCE_THREAD_SAFE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LOG_TAG"><!-- --></A><H3>
LOG_TAG</H3>
<PRE>
private static final java.lang.String <B>LOG_TAG</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.velocity.tools.generic.RenderTool.LOG_TAG">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="engine"><!-- --></A><H3>
engine</H3>
<PRE>
private org.apache.velocity.app.VelocityEngine <B>engine</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="context"><!-- --></A><H3>
context</H3>
<PRE>
private org.apache.velocity.context.Context <B>context</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="parseDepth"><!-- --></A><H3>
parseDepth</H3>
<PRE>
private int <B>parseDepth</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="catchExceptions"><!-- --></A><H3>
catchExceptions</H3>
<PRE>
private boolean <B>catchExceptions</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="forceThreadSafe"><!-- --></A><H3>
forceThreadSafe</H3>
<PRE>
private boolean <B>forceThreadSafe</B></PRE>
<DL>
<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">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="RenderTool()"><!-- --></A><H3>
RenderTool</H3>
<PRE>
public <B>RenderTool</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="configure(org.apache.velocity.tools.generic.ValueParser)"><!-- --></A><H3>
configure</H3>
<PRE>
protected void <B>configure</B>(<A HREF="../../../../../org/apache/velocity/tools/generic/ValueParser.html" title="class in org.apache.velocity.tools.generic">ValueParser</A>&nbsp;parser)</PRE>
<DL>
<DD>Looks for deprecated parse depth and catch.exceptions properties,
as well as any 'forceThreadSafe' setting.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html#configure(org.apache.velocity.tools.generic.ValueParser)">configure</A></CODE> in class <CODE><A HREF="../../../../../org/apache/velocity/tools/generic/SafeConfig.html" title="class in org.apache.velocity.tools.generic">SafeConfig</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setVelocityEngine(org.apache.velocity.app.VelocityEngine)"><!-- --></A><H3>
setVelocityEngine</H3>
<PRE>
public void <B>setVelocityEngine</B>(org.apache.velocity.app.VelocityEngine&nbsp;ve)</PRE>
<DL>
<DD>Allow user to specify a VelocityEngine to be used
in place of the Velocity singleton.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setParseDepth(int)"><!-- --></A><H3>
setParseDepth</H3>
<PRE>
public void <B>setParseDepth</B>(int&nbsp;depth)</PRE>
<DL>
<DD>Set the maximum number of loops allowed when recursing.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>VelocityTools 1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="setVelocityContext(org.apache.velocity.context.Context)"><!-- --></A><H3>
setVelocityContext</H3>
<PRE>
public void <B>setVelocityContext</B>(org.apache.velocity.context.Context&nbsp;context)</PRE>
<DL>
<DD>Sets the <CODE>Context</CODE> to be used by the <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(java.lang.String)"><CODE>eval(String)</CODE></A>
and <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#recurse(java.lang.String)"><CODE>recurse(String)</CODE></A> methods.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getParseDepth()"><!-- --></A><H3>
getParseDepth</H3>
<PRE>
public int <B>getParseDepth</B>()</PRE>
<DL>
<DD>Get the maximum number of loops allowed when recursing.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>VelocityTools 1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="setCatchExceptions(boolean)"><!-- --></A><H3>
setCatchExceptions</H3>
<PRE>
public void <B>setCatchExceptions</B>(boolean&nbsp;catchExceptions)</PRE>
<DL>
<DD>Sets whether or not the render() and eval() methods should catch
exceptions during their execution or not.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>VelocityTools 1.3</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getCatchExceptions()"><!-- --></A><H3>
getCatchExceptions</H3>
<PRE>
public boolean <B>getCatchExceptions</B>()</PRE>
<DL>
<DD>Returns <code>true</code> if this render() and eval() methods will
catch exceptions thrown during rendering.
<P>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>VelocityTools 1.3</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="eval(java.lang.String)"><!-- --></A><H3>
eval</H3>
<PRE>
public java.lang.String <B>eval</B>(java.lang.String&nbsp;vtl)
throws java.lang.Exception</PRE>
<DL>
<DD><p>Evaluates a String containing VTL using the context passed
to the <A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#setVelocityContext(org.apache.velocity.context.Context)"><CODE>setVelocityContext(org.apache.velocity.context.Context)</CODE></A> method. If this tool is request
scoped, then this will be the current context and open to modification
by the rendered VTL. If application or session scoped, the context
will be a new wrapper around the configured context to protect it
from modification.
The results of the rendering are returned as a String. By default,
<code>null</code> will be returned when this throws an exception.
This evaluation is not recursive.</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>vtl</CODE> - the code to be evaluated
<DT><B>Returns:</B><DD>the evaluated code as a String
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="recurse(java.lang.String)"><!-- --></A><H3>
recurse</H3>
<PRE>
public java.lang.String <B>recurse</B>(java.lang.String&nbsp;vtl)
throws java.lang.Exception</PRE>
<DL>
<DD><p>Recursively evaluates a String containing VTL using the
current context, and returns the result as a String. It
will continue to re-evaluate the output of the last
evaluation until an evaluation returns the same code
that was fed into it.</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>vtl</CODE> - the code to be evaluated
<DT><B>Returns:</B><DD>the evaluated code as a String
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE><DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/velocity/tools/generic/RenderTool.html#eval(java.lang.String)"><CODE>eval(String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="eval(org.apache.velocity.context.Context, java.lang.String)"><!-- --></A><H3>
eval</H3>
<PRE>
public java.lang.String <B>eval</B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl)
throws java.lang.Exception</PRE>
<DL>
<DD><p>Evaluates a String containing VTL using the current context,
and returns the result as a String. By default if this fails, then
<code>null</code> will be returned, though this tool can be configured
to let Exceptions pass through. This evaluation is not recursive.</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ctx</CODE> - the current Context<DD><CODE>vtl</CODE> - the code to be evaluated
<DT><B>Returns:</B><DD>the evaluated code as a String
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="internalEval(org.apache.velocity.context.Context, java.lang.String)"><!-- --></A><H3>
internalEval</H3>
<PRE>
protected java.lang.String <B>internalEval</B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl)
throws java.lang.Exception</PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="recurse(org.apache.velocity.context.Context, java.lang.String)"><!-- --></A><H3>
recurse</H3>
<PRE>
public java.lang.String <B>recurse</B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl)
throws java.lang.Exception</PRE>
<DL>
<DD><p>Recursively evaluates a String containing VTL using the
current context, and returns the result as a String. It
will continue to re-evaluate the output of the last
evaluation until an evaluation returns the same code
that was fed into it or the number of recursive loops
exceeds the set parse depth.</p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ctx</CODE> - the current Context<DD><CODE>vtl</CODE> - the code to be evaluated
<DT><B>Returns:</B><DD>the evaluated code as a String
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="internalRecurse(org.apache.velocity.context.Context, java.lang.String, int)"><!-- --></A><H3>
internalRecurse</H3>
<PRE>
protected java.lang.String <B>internalRecurse</B>(org.apache.velocity.context.Context&nbsp;ctx,
java.lang.String&nbsp;vtl,
int&nbsp;count)
throws java.lang.Exception</PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="debug(java.lang.String)"><!-- --></A><H3>
debug</H3>
<PRE>
private void <B>debug</B>(java.lang.String&nbsp;message)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="debug(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
debug</H3>
<PRE>
private void <B>debug</B>(java.lang.String&nbsp;message,
java.lang.Throwable&nbsp;t)</PRE>
<DL>
<DD><DL>
</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=2 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>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/velocity/tools/generic/NumberTool.html" title="class in org.apache.velocity.tools.generic"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/velocity/tools/generic/ResourceTool.html" title="class in org.apache.velocity.tools.generic"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/velocity/tools/generic/RenderTool.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="RenderTool.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<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:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright (c) 2003-2007 Apache Software Foundation
</BODY>
</HTML>