<!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.6.0_04) on Mon Dec 15 08:38:53 PST 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
VelocityEngine (Apache Velocity 1.6.1 API)
</TITLE>

<META NAME="date" CONTENT="2008-12-15">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="VelocityEngine (Apache Velocity 1.6.1 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= 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="class-use/VelocityEngine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/app/Velocity.html" title="class in org.apache.velocity.app"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/velocity/app/VelocityEngine.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="VelocityEngine.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;FIELD&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;FIELD&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.app</FONT>
<BR>
Class VelocityEngine</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.velocity.app.VelocityEngine</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html" title="interface in org.apache.velocity.runtime">RuntimeConstants</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>VelocityEngine</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html" title="interface in org.apache.velocity.runtime">RuntimeConstants</A></DL>
</PRE>

<P>
<p>
 This class provides a separate new-able instance of the
 Velocity template engine.  The alternative model for use
 is using the Velocity class which employs the singleton
 model.
 </p>
 <p>Velocity will call
 the parameter-less init() at the first use of this class
 if the init() wasn't explicitly called.  While this will
 ensure that Velocity functions, it probably won't
 function in the way you intend, so it is strongly recommended that
 you call an init() method yourself if you use the default constructor.
 </p>
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>$Id: VelocityEngine.java 687177 2008-08-19 22:00:32Z nbubna $</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>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.velocity.runtime.RuntimeConstants"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.velocity.runtime.<A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html" title="interface in org.apache.velocity.runtime">RuntimeConstants</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#COUNTER_INITIAL_VALUE">COUNTER_INITIAL_VALUE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#COUNTER_NAME">COUNTER_NAME</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#DEBUG_PREFIX">DEBUG_PREFIX</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#DEFAULT_RUNTIME_DIRECTIVES">DEFAULT_RUNTIME_DIRECTIVES</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#DEFAULT_RUNTIME_PROPERTIES">DEFAULT_RUNTIME_PROPERTIES</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#DEFINE_DIRECTIVE_MAXDEPTH">DEFINE_DIRECTIVE_MAXDEPTH</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#ENCODING_DEFAULT">ENCODING_DEFAULT</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#ERROR_PREFIX">ERROR_PREFIX</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#ERRORMSG_END">ERRORMSG_END</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#ERRORMSG_START">ERRORMSG_START</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#EVALUATE_CONTEXT_CLASS">EVALUATE_CONTEXT_CLASS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#EVENTHANDLER_INCLUDE">EVENTHANDLER_INCLUDE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#EVENTHANDLER_INVALIDREFERENCES">EVENTHANDLER_INVALIDREFERENCES</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#EVENTHANDLER_METHODEXCEPTION">EVENTHANDLER_METHODEXCEPTION</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#EVENTHANDLER_NULLSET">EVENTHANDLER_NULLSET</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#EVENTHANDLER_REFERENCEINSERTION">EVENTHANDLER_REFERENCEINSERTION</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#FILE_RESOURCE_LOADER_CACHE">FILE_RESOURCE_LOADER_CACHE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#FILE_RESOURCE_LOADER_PATH">FILE_RESOURCE_LOADER_PATH</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#HAS_NEXT_NAME">HAS_NEXT_NAME</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#INFO_PREFIX">INFO_PREFIX</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#INPUT_ENCODING">INPUT_ENCODING</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#INTERPOLATE_STRINGLITERALS">INTERPOLATE_STRINGLITERALS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#INTROSPECTOR_RESTRICT_CLASSES">INTROSPECTOR_RESTRICT_CLASSES</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#INTROSPECTOR_RESTRICT_PACKAGES">INTROSPECTOR_RESTRICT_PACKAGES</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#MAX_NUMBER_LOOPS">MAX_NUMBER_LOOPS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#NUMBER_OF_PARSERS">NUMBER_OF_PARSERS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#OUTPUT_ENCODING">OUTPUT_ENCODING</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#PARSE_DIRECTIVE_MAXDEPTH">PARSE_DIRECTIVE_MAXDEPTH</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#PARSER_POOL_CLASS">PARSER_POOL_CLASS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#PARSER_POOL_SIZE">PARSER_POOL_SIZE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RESOURCE_LOADER">RESOURCE_LOADER</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RESOURCE_MANAGER_CACHE_CLASS">RESOURCE_MANAGER_CACHE_CLASS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RESOURCE_MANAGER_CLASS">RESOURCE_MANAGER_CLASS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RESOURCE_MANAGER_DEFAULTCACHE_SIZE">RESOURCE_MANAGER_DEFAULTCACHE_SIZE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RESOURCE_MANAGER_LOGWHENFOUND">RESOURCE_MANAGER_LOGWHENFOUND</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG">RUNTIME_LOG</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG_ERROR_STACKTRACE">RUNTIME_LOG_ERROR_STACKTRACE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG_INFO_STACKTRACE">RUNTIME_LOG_INFO_STACKTRACE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG_LOGSYSTEM">RUNTIME_LOG_LOGSYSTEM</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG_LOGSYSTEM_CLASS">RUNTIME_LOG_LOGSYSTEM_CLASS</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG_REFERENCE_LOG_INVALID">RUNTIME_LOG_REFERENCE_LOG_INVALID</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_LOG_WARN_STACKTRACE">RUNTIME_LOG_WARN_STACKTRACE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#RUNTIME_REFERENCES_STRICT">RUNTIME_REFERENCES_STRICT</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#SET_NULL_ALLOWED">SET_NULL_ALLOWED</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#SKIP_INVALID_ITERATOR">SKIP_INVALID_ITERATOR</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#STRICT_MATH">STRICT_MATH</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#TRACE_PREFIX">TRACE_PREFIX</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#UBERSPECT_CLASSNAME">UBERSPECT_CLASSNAME</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#UNKNOWN_PREFIX">UNKNOWN_PREFIX</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_ARGUMENTS_STRICT">VM_ARGUMENTS_STRICT</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_CONTEXT_LOCALSCOPE">VM_CONTEXT_LOCALSCOPE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_LIBRARY">VM_LIBRARY</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_LIBRARY_AUTORELOAD">VM_LIBRARY_AUTORELOAD</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_LIBRARY_DEFAULT">VM_LIBRARY_DEFAULT</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_MAX_DEPTH">VM_MAX_DEPTH</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_MESSAGES_ON">VM_MESSAGES_ON</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_PERM_ALLOW_INLINE">VM_PERM_ALLOW_INLINE</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_PERM_ALLOW_INLINE_REPLACE_GLOBAL">VM_PERM_ALLOW_INLINE_REPLACE_GLOBAL</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#VM_PERM_INLINE_LOCAL">VM_PERM_INLINE_LOCAL</A>, <A HREF="../../../../org/apache/velocity/runtime/RuntimeConstants.html#WARN_PREFIX">WARN_PREFIX</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/app/VelocityEngine.html#VelocityEngine()">VelocityEngine</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Init-less CTOR</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#VelocityEngine(java.util.Properties)">VelocityEngine</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;p)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CTOR that invokes an init(String), initializing
  the engine using the Properties specified</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#VelocityEngine(java.lang.String)">VelocityEngine</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propsFilename)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CTOR that invokes an init(String), initializing
  the engine using the properties file specified</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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#addProperty(java.lang.String, java.lang.Object)">addProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key,
            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a Velocity Runtime property.</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/app/VelocityEngine.html#clearProperty(java.lang.String)">clearProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear a Velocity Runtime property.</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/app/VelocityEngine.html#debug(java.lang.Object)">debug</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I></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/app/VelocityEngine.html#error(java.lang.Object)">error</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I></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/app/VelocityEngine.html#evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.InputStream)">evaluate</A></B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;instream)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use
  <A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.Reader)"><CODE>evaluate( Context context, Writer writer,
      String logTag, Reader reader )</CODE></A></I></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/app/VelocityEngine.html#evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.Reader)">evaluate</A></B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Renders the input reader using the context into the output writer.</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/app/VelocityEngine.html#evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.lang.String)">evaluate</A></B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;out,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;instring)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renders the input string using the context into the output writer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#getApplicationAttribute(java.lang.Object)">getApplicationAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  Return an application attribute (which can be any Object)
  that was set by the application in order to be accessible from
  any component of the system that gets a RuntimeServices.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/velocity/runtime/log/Log.html" title="class in org.apache.velocity.runtime.log">Log</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#getLog()">getLog</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a convenient Log instance that wraps the current LogChute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#getProperty(java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a Velocity Runtime property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#getTemplate(java.lang.String)">getTemplate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>Template</code> from the Velocity
  resource management system.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#getTemplate(java.lang.String, java.lang.String)">getTemplate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;encoding)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>Template</code> from the Velocity
  resource management system.</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/app/VelocityEngine.html#info(java.lang.Object)">info</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I></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/app/VelocityEngine.html#init()">init</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialize the Velocity runtime engine, using the default
  properties of the Velocity distribution</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/app/VelocityEngine.html#init(java.util.Properties)">init</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;p)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialize the Velocity runtime engine, using default properties
  plus the properties in the passed in java.util.Properties object</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/app/VelocityEngine.html#init(java.lang.String)">init</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propsFilename)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialize the Velocity runtime engine, using default properties
  plus the properties in the properties file passed in as the arg</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/app/VelocityEngine.html#invokeVelocimacro(java.lang.String, java.lang.String, java.lang.String[], org.apache.velocity.context.Context, java.io.Writer)">invokeVelocimacro</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;vmName,
                  <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
                  <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;params,
                  <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                  <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invokes a currently registered Velocimacro with the params provided
 and places the rendered stream into the writer.</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/app/VelocityEngine.html#mergeTemplate(java.lang.String, org.apache.velocity.context.Context, java.io.Writer)">mergeTemplate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;templateName,
              <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use
  <A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#mergeTemplate(java.lang.String, java.lang.String, org.apache.velocity.context.Context, java.io.Writer)"><CODE>mergeTemplate( String templateName, String encoding,
                Context context, Writer writer )</CODE></A></I></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/app/VelocityEngine.html#mergeTemplate(java.lang.String, java.lang.String, org.apache.velocity.context.Context, java.io.Writer)">mergeTemplate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;templateName,
              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;encoding,
              <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;merges a template and puts the rendered stream into the writer</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/app/VelocityEngine.html#resourceExists(java.lang.String)">resourceExists</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resourceName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if a resource is accessable via the currently
   configured resource loaders.</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/app/VelocityEngine.html#setApplicationAttribute(java.lang.Object, java.lang.Object)">setApplicationAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  Sets an application attribute (which can be any Object) that will be
  accessible from any component of the system that gets a
  RuntimeServices.</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/app/VelocityEngine.html#setExtendedProperties(org.apache.commons.collections.ExtendedProperties)">setExtendedProperties</A></B>(<A HREF="http://jakarta.apache.org/commons/collections/api-release/org/apache/commons/collections/ExtendedProperties.html?is-external=true" title="class or interface in org.apache.commons.collections">ExtendedProperties</A>&nbsp;configuration)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set an entire configuration at once.</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/app/VelocityEngine.html#setProperty(java.lang.String, java.lang.Object)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key,
            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a Velocity Runtime property.</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/app/VelocityEngine.html#templateExists(java.lang.String)">templateExists</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resourceName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use resourceExists(String) instead.</I></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/app/VelocityEngine.html#warn(java.lang.Object)">warn</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I></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.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#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?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= 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="VelocityEngine()"><!-- --></A><H3>
VelocityEngine</H3>
<PRE>
public <B>VelocityEngine</B>()</PRE>
<DL>
<DD>Init-less CTOR
<P>
</DL>
<HR>

<A NAME="VelocityEngine(java.lang.String)"><!-- --></A><H3>
VelocityEngine</H3>
<PRE>
public <B>VelocityEngine</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propsFilename)
               throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>CTOR that invokes an init(String), initializing
  the engine using the properties file specified
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>propsFilename</CODE> - name of properties file to init with
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE><DT><B>Since:</B></DT>
  <DD>1.5</DD>
</DL>
</DL>
<HR>

<A NAME="VelocityEngine(java.util.Properties)"><!-- --></A><H3>
VelocityEngine</H3>
<PRE>
public <B>VelocityEngine</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;p)
               throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>CTOR that invokes an init(String), initializing
  the engine using the Properties specified
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>p</CODE> - name of properties  to init with
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE><DT><B>Since:</B></DT>
  <DD>1.5</DD>
</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="init()"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>()
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>initialize the Velocity runtime engine, using the default
  properties of the Velocity distribution
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="init(java.lang.String)"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;propsFilename)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>initialize the Velocity runtime engine, using default properties
  plus the properties in the properties file passed in as the arg
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>propsFilename</CODE> - file containing properties to use to initialize
         the Velocity runtime
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="init(java.util.Properties)"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;p)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>initialize the Velocity runtime engine, using default properties
  plus the properties in the passed in java.util.Properties object
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>p</CODE> - Proprties object containing initialization properties
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setProperty(java.lang.String, java.lang.Object)"><!-- --></A><H3>
setProperty</H3>
<PRE>
public void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Set a Velocity Runtime property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="addProperty(java.lang.String, java.lang.Object)"><!-- --></A><H3>
addProperty</H3>
<PRE>
public void <B>addProperty</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Add a Velocity Runtime property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - <DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="clearProperty(java.lang.String)"><!-- --></A><H3>
clearProperty</H3>
<PRE>
public void <B>clearProperty</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE>
<DL>
<DD>Clear a Velocity Runtime property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - of property to clear</DL>
</DD>
</DL>
<HR>

<A NAME="setExtendedProperties(org.apache.commons.collections.ExtendedProperties)"><!-- --></A><H3>
setExtendedProperties</H3>
<PRE>
public void <B>setExtendedProperties</B>(<A HREF="http://jakarta.apache.org/commons/collections/api-release/org/apache/commons/collections/ExtendedProperties.html?is-external=true" title="class or interface in org.apache.commons.collections">ExtendedProperties</A>&nbsp;configuration)</PRE>
<DL>
<DD>Set an entire configuration at once. This is
 useful in cases where the parent application uses
 the ExtendedProperties class and the velocity configuration
 is a subset of the parent application's configuration.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>configuration</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getProperty(java.lang.String)"><!-- --></A><H3>
getProperty</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProperty</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;key)</PRE>
<DL>
<DD>Get a Velocity Runtime property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - property to retrieve
<DT><B>Returns:</B><DD>property value or null if the property
        not currently set</DL>
</DD>
</DL>
<HR>

<A NAME="evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.lang.String)"><!-- --></A><H3>
evaluate</H3>
<PRE>
public boolean <B>evaluate</B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;out,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;instring)
                 throws <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>,
                        <A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>renders the input string using the context into the output writer.
  To be used when a template is dynamically constructed, or want to use
  Velocity as a token replacer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - context to use in rendering input string<DD><CODE>out</CODE> - Writer in which to render the output<DD><CODE>logTag</CODE> - string to be used as the template name for log
                 messages in case of error<DD><CODE>instring</CODE> - input string containing the VTL to be rendered
<DT><B>Returns:</B><DD>true if successful, false otherwise.  If false, see
             Velocity runtime log
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> - The template could not be parsed.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></CODE> - A method on a context object could not be invoked.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> - A referenced resource could not be loaded.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - While rendering to the writer, an I/O problem occured.</DL>
</DD>
</DL>
<HR>

<A NAME="evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.InputStream)"><!-- --></A><H3>
evaluate</H3>
<PRE>
public boolean <B>evaluate</B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A>&nbsp;instream)
                 throws <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>,
                        <A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use
  <A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.Reader)"><CODE>evaluate( Context context, Writer writer,
      String logTag, Reader reader )</CODE></A></I>
<P>
<DD>Renders the input stream using the context into the output writer.
  To be used when a template is dynamically constructed, or want to
  use Velocity as a token replacer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - context to use in rendering input string<DD><CODE>writer</CODE> - Writer in which to render the output<DD><CODE>logTag</CODE> - string to be used as the template name for log messages
                 in case of error<DD><CODE>instream</CODE> - input stream containing the VTL to be rendered
<DT><B>Returns:</B><DD>true if successful, false otherwise.  If false, see
               Velocity runtime log
<DT><B>Throws:</B>
<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>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="evaluate(org.apache.velocity.context.Context, java.io.Writer, java.lang.String, java.io.Reader)"><!-- --></A><H3>
evaluate</H3>
<PRE>
public boolean <B>evaluate</B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader)
                 throws <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>,
                        <A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>,
                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Renders the input reader using the context into the output writer.
  To be used when a template is dynamically constructed, or want to
  use Velocity as a token replacer.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - context to use in rendering input string<DD><CODE>writer</CODE> - Writer in which to render the output<DD><CODE>logTag</CODE> - string to be used as the template name for log messages
                 in case of error<DD><CODE>reader</CODE> - Reader containing the VTL to be rendered
<DT><B>Returns:</B><DD>true if successful, false otherwise.  If false, see
               Velocity runtime log
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> - The template could not be parsed.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></CODE> - A method on a context object could not be invoked.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> - A referenced resource could not be loaded.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - While reading from the reader or rendering to the writer,
                     an I/O problem occured.<DT><B>Since:</B></DT>
  <DD>Velocity v1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="invokeVelocimacro(java.lang.String, java.lang.String, java.lang.String[], org.apache.velocity.context.Context, java.io.Writer)"><!-- --></A><H3>
invokeVelocimacro</H3>
<PRE>
public boolean <B>invokeVelocimacro</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;vmName,
                                 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;logTag,
                                 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;params,
                                 <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                                 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)
                          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invokes a currently registered Velocimacro with the params provided
 and places the rendered stream into the writer.
 <br>
 Note : currently only accepts args to the VM if they are in the context.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>vmName</CODE> - name of Velocimacro to call<DD><CODE>logTag</CODE> - string to be used for template name in case of error. if null,
               the vmName will be used<DD><CODE>params</CODE> - keys for args used to invoke Velocimacro, in java format
               rather than VTL (eg  "foo" or "bar" rather than "$foo" or "$bar")<DD><CODE>context</CODE> - Context object containing data/objects used for rendering.<DD><CODE>writer</CODE> - Writer for output stream
<DT><B>Returns:</B><DD>true if Velocimacro exists and successfully invoked, false otherwise.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - While rendering to the writer, an I/O problem occured.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="mergeTemplate(java.lang.String, org.apache.velocity.context.Context, java.io.Writer)"><!-- --></A><H3>
mergeTemplate</H3>
<PRE>
public boolean <B>mergeTemplate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;templateName,
                             <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)
                      throws <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>,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use
  <A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#mergeTemplate(java.lang.String, java.lang.String, org.apache.velocity.context.Context, java.io.Writer)"><CODE>mergeTemplate( String templateName, String encoding,
                Context context, Writer writer )</CODE></A></I>
<P>
<DD>Merges a template and puts the rendered stream into the writer.
  The default encoding that Velocity uses to read template files is defined in
  the property input.encoding and defaults to ISO-8859-1.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>templateName</CODE> - name of template to be used in merge<DD><CODE>context</CODE> - filled context to be used in merge<DD><CODE>writer</CODE> - writer to write template into
<DT><B>Returns:</B><DD>true if successful, false otherwise.  Errors
           logged to velocity log.
<DT><B>Throws:</B>
<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>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="mergeTemplate(java.lang.String, java.lang.String, org.apache.velocity.context.Context, java.io.Writer)"><!-- --></A><H3>
mergeTemplate</H3>
<PRE>
public boolean <B>mergeTemplate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;templateName,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;encoding,
                             <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)
                      throws <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>,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>merges a template and puts the rendered stream into the writer
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>templateName</CODE> - name of template to be used in merge<DD><CODE>encoding</CODE> - encoding used in template<DD><CODE>context</CODE> - filled context to be used in merge<DD><CODE>writer</CODE> - writer to write template into
<DT><B>Returns:</B><DD>true if successful, false otherwise.  Errors
           logged to velocity log
<DT><B>Throws:</B>
<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>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE><DT><B>Since:</B></DT>
  <DD>Velocity v1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="getTemplate(java.lang.String)"><!-- --></A><H3>
getTemplate</H3>
<PRE>
public <A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A> <B>getTemplate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)
                     throws <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="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Returns a <code>Template</code> from the Velocity
  resource management system.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - The file name of the desired template.
<DT><B>Returns:</B><DD>The template.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> - if template not found
          from any available source.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> - if template cannot be parsed due
          to syntax (or other) error.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs in template initialization</DL>
</DD>
</DL>
<HR>

<A NAME="getTemplate(java.lang.String, java.lang.String)"><!-- --></A><H3>
getTemplate</H3>
<PRE>
public <A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A> <B>getTemplate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
                            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;encoding)
                     throws <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="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Returns a <code>Template</code> from the Velocity
  resource management system.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - The file name of the desired template.<DD><CODE>encoding</CODE> - The character encoding to use for the template.
<DT><B>Returns:</B><DD>The template.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> - if template not found
          from any available source.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> - if template cannot be parsed due
          to syntax (or other) error.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs in template initialization<DT><B>Since:</B></DT>
  <DD>Velocity v1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="resourceExists(java.lang.String)"><!-- --></A><H3>
resourceExists</H3>
<PRE>
public boolean <B>resourceExists</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resourceName)</PRE>
<DL>
<DD>Determines if a resource is accessable via the currently
   configured resource loaders.
   <br><br>
   Note that the current implementation will <b>not</b>
   change the state of the system in any real way - so this
   cannot be used to pre-load the resource cache, as the
   previous implementation did as a side-effect.
   <br><br>
   The previous implementation exhibited extreme lazyness and
   sloth, and the author has been flogged.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>resourceName</CODE> - name of the resource to search for
<DT><B>Returns:</B><DD>true if found, false otherwise<DT><B>Since:</B></DT>
  <DD>1.5</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="templateExists(java.lang.String)"><!-- --></A><H3>
templateExists</H3>
<PRE>
public boolean <B>templateExists</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;resourceName)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use resourceExists(String) instead.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>resourceName</CODE> - 
<DT><B>Returns:</B><DD>True if the template exists.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/velocity/app/VelocityEngine.html#resourceExists(java.lang.String)"><CODE>resourceExists(String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLog()"><!-- --></A><H3>
getLog</H3>
<PRE>
public <A HREF="../../../../org/apache/velocity/runtime/log/Log.html" title="class in org.apache.velocity.runtime.log">Log</A> <B>getLog</B>()</PRE>
<DL>
<DD>Returns a convenient Log instance that wraps the current LogChute.
 Use this to log error messages. It has the usual methods you'd expect.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A log object.<DT><B>Since:</B></DT>
  <DD>1.5</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="warn(java.lang.Object)"><!-- --></A><H3>
warn</H3>
<PRE>
public void <B>warn</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="info(java.lang.Object)"><!-- --></A><H3>
info</H3>
<PRE>
public void <B>info</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="error(java.lang.Object)"><!-- --></A><H3>
error</H3>
<PRE>
public void <B>error</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="debug(java.lang.Object)"><!-- --></A><H3>
debug</H3>
<PRE>
public void <B>debug</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use getLog() and call warn() on it.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setApplicationAttribute(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
setApplicationAttribute</H3>
<PRE>
public void <B>setApplicationAttribute</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key,
                                    <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD><p>
  Sets an application attribute (which can be any Object) that will be
  accessible from any component of the system that gets a
  RuntimeServices. This allows communication between the application
  environment and custom pluggable components of the Velocity engine,
  such as ResourceLoaders and LogChutes.
  </p>

  <p>
  Note that there is no enforcement or rules for the key
  used - it is up to the application developer.  However, to
  help make the intermixing of components possible, using
  the target Class name (e.g. com.foo.bar ) as the key
  might help avoid collision.
  </p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - object 'name' under which the object is stored<DD><CODE>value</CODE> - object to store under this key</DL>
</DD>
</DL>
<HR>

<A NAME="getApplicationAttribute(java.lang.Object)"><!-- --></A><H3>
getApplicationAttribute</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getApplicationAttribute</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key)</PRE>
<DL>
<DD><p>
  Return an application attribute (which can be any Object)
  that was set by the application in order to be accessible from
  any component of the system that gets a RuntimeServices.
  This allows communication between the application
  environment and custom pluggable components of the
  Velocity engine, such as ResourceLoaders and LogChutes.
  </p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - object 'name' under which the object is stored
<DT><B>Returns:</B><DD>value object to store under this key<DT><B>Since:</B></DT>
  <DD>1.5</DD>
</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="class-use/VelocityEngine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/app/Velocity.html" title="class in org.apache.velocity.app"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/velocity/app/VelocityEngine.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="VelocityEngine.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;FIELD&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;FIELD&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 &#169; 2000-2008 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
