<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_281) on Sun Jan 15 15:58:35 CET 2023 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Template (FreeMarker 2.3.32 API)</title>
<meta name="date" content="2023-01-15">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Template (FreeMarker 2.3.32 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":42,"i16":10,"i17":42,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":9,"i24":10,"i25":10,"i26":42,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":42,"i34":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Template.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../freemarker/template/SimpleSequence.html" title="class in freemarker.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/template/Template.WrongEncodingException.html" title="class in freemarker.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/template/Template.html" target="_top">Frames</a></li>
<li><a href="Template.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">freemarker.template</div>
<h2 title="Class Template" class="title">Class Template</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">freemarker.core.Configurable</a></li>
<li>
<ul class="inheritance">
<li>freemarker.template.Template</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Template</span>
extends <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a></pre>
<div class="block">Stores an already parsed template, ready to be processed (rendered) for unlimited times, possibly from multiple
 threads.
 
 <p>
 Typically, you will use <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a> to create/get <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> objects, so you
 don't construct them directly. But you can also construct a template from a <code>Reader</code> or a <code>String</code> that
 contains the template source code. But then it's important to know that while the resulting <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> is
 efficient for later processing, creating a new <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> itself is relatively expensive. So try to re-use
 <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> objects if possible. <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a> (and its overloads) does that
 (caching <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a>-s) for you, but the constructor of course doesn't, so it's up to you to solve then.
 
 <p>
 Objects of this class meant to be handled as immutable and thus thread-safe. However, it has some setter methods for
 changing FreeMarker settings. Those must not be used while the template is being processed, or if the template object
 is already accessible from multiple threads. If some templates need different settings that those coming from the
 shared <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>, and you are using <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a> (or its overloads), then
 use <a href="../../freemarker/template/Configuration.html#setTemplateConfigurations-freemarker.cache.TemplateConfigurationFactory-"><code>Configuration.setTemplateConfigurations(freemarker.cache.TemplateConfigurationFactory)</code></a> to achieve that.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.WrongEncodingException.html" title="class in freemarker.template">Template.WrongEncodingException</a></span></code>
<div class="block">Thrown by the <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> constructors that specify a non-<code>null</code> encoding whoch doesn't match the
 encoding specified in the <code>#ftl</code> header of the template.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.freemarker.core.Configurable">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;freemarker.core.<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a></h3>
<code><a href="../../freemarker/core/Configurable.SettingValueAssignmentException.html" title="class in freemarker.core">Configurable.SettingValueAssignmentException</a>, <a href="../../freemarker/core/Configurable.UnknownSettingException.html" title="class in freemarker.core">Configurable.UnknownSettingException</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#DEFAULT_NAMESPACE_PREFIX">DEFAULT_NAMESPACE_PREFIX</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#NO_NS_PREFIX">NO_NS_PREFIX</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.freemarker.core.Configurable">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;freemarker.core.<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a></h3>
<code><a href="../../freemarker/core/Configurable.html#API_BUILTIN_ENABLED_KEY">API_BUILTIN_ENABLED_KEY</a>, <a href="../../freemarker/core/Configurable.html#API_BUILTIN_ENABLED_KEY_CAMEL_CASE">API_BUILTIN_ENABLED_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#API_BUILTIN_ENABLED_KEY_SNAKE_CASE">API_BUILTIN_ENABLED_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#ARITHMETIC_ENGINE_KEY">ARITHMETIC_ENGINE_KEY</a>, <a href="../../freemarker/core/Configurable.html#ARITHMETIC_ENGINE_KEY_CAMEL_CASE">ARITHMETIC_ENGINE_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#ARITHMETIC_ENGINE_KEY_SNAKE_CASE">ARITHMETIC_ENGINE_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#ATTEMPT_EXCEPTION_REPORTER_KEY">ATTEMPT_EXCEPTION_REPORTER_KEY</a>, <a href="../../freemarker/core/Configurable.html#ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE">ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE">ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#AUTO_FLUSH_KEY">AUTO_FLUSH_KEY</a>, <a href="../../freemarker/core/Configurable.html#AUTO_FLUSH_KEY_CAMEL_CASE">AUTO_FLUSH_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#AUTO_FLUSH_KEY_SNAKE_CASE">AUTO_FLUSH_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#AUTO_IMPORT_KEY">AUTO_IMPORT_KEY</a>, <a href="../../freemarker/core/Configurable.html#AUTO_IMPORT_KEY_CAMEL_CASE">AUTO_IMPORT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#AUTO_IMPORT_KEY_SNAKE_CASE">AUTO_IMPORT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#AUTO_INCLUDE_KEY">AUTO_INCLUDE_KEY</a>, <a href="../../freemarker/core/Configurable.html#AUTO_INCLUDE_KEY_CAMEL_CASE">AUTO_INCLUDE_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#AUTO_INCLUDE_KEY_SNAKE_CASE">AUTO_INCLUDE_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#BOOLEAN_FORMAT_KEY">BOOLEAN_FORMAT_KEY</a>, <a href="../../freemarker/core/Configurable.html#BOOLEAN_FORMAT_KEY_CAMEL_CASE">BOOLEAN_FORMAT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#BOOLEAN_FORMAT_KEY_SNAKE_CASE">BOOLEAN_FORMAT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#C_FORMAT_KEY">C_FORMAT_KEY</a>, <a href="../../freemarker/core/Configurable.html#C_FORMAT_KEY_CAMEL_CASE">C_FORMAT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#C_FORMAT_KEY_SNAKE_CASE">C_FORMAT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#CLASSIC_COMPATIBLE_KEY">CLASSIC_COMPATIBLE_KEY</a>, <a href="../../freemarker/core/Configurable.html#CLASSIC_COMPATIBLE_KEY_CAMEL_CASE">CLASSIC_COMPATIBLE_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#CLASSIC_COMPATIBLE_KEY_SNAKE_CASE">CLASSIC_COMPATIBLE_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#CUSTOM_DATE_FORMATS_KEY">CUSTOM_DATE_FORMATS_KEY</a>, <a href="../../freemarker/core/Configurable.html#CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE">CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE">CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#CUSTOM_NUMBER_FORMATS_KEY">CUSTOM_NUMBER_FORMATS_KEY</a>, <a href="../../freemarker/core/Configurable.html#CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE">CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE">CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#DATE_FORMAT_KEY">DATE_FORMAT_KEY</a>, <a href="../../freemarker/core/Configurable.html#DATE_FORMAT_KEY_CAMEL_CASE">DATE_FORMAT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#DATE_FORMAT_KEY_SNAKE_CASE">DATE_FORMAT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#DATETIME_FORMAT_KEY">DATETIME_FORMAT_KEY</a>, <a href="../../freemarker/core/Configurable.html#DATETIME_FORMAT_KEY_CAMEL_CASE">DATETIME_FORMAT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#DATETIME_FORMAT_KEY_SNAKE_CASE">DATETIME_FORMAT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#LAZY_AUTO_IMPORTS_KEY">LAZY_AUTO_IMPORTS_KEY</a>, <a href="../../freemarker/core/Configurable.html#LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE">LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE">LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#LAZY_IMPORTS_KEY">LAZY_IMPORTS_KEY</a>, <a href="../../freemarker/core/Configurable.html#LAZY_IMPORTS_KEY_CAMEL_CASE">LAZY_IMPORTS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#LAZY_IMPORTS_KEY_SNAKE_CASE">LAZY_IMPORTS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#LOCALE_KEY">LOCALE_KEY</a>, <a href="../../freemarker/core/Configurable.html#LOCALE_KEY_CAMEL_CASE">LOCALE_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#LOCALE_KEY_SNAKE_CASE">LOCALE_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#LOG_TEMPLATE_EXCEPTIONS_KEY">LOG_TEMPLATE_EXCEPTIONS_KEY</a>, <a href="../../freemarker/core/Configurable.html#LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE">LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE">LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#NEW_BUILTIN_CLASS_RESOLVER_KEY">NEW_BUILTIN_CLASS_RESOLVER_KEY</a>, <a href="../../freemarker/core/Configurable.html#NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE">NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE">NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#NUMBER_FORMAT_KEY">NUMBER_FORMAT_KEY</a>, <a href="../../freemarker/core/Configurable.html#NUMBER_FORMAT_KEY_CAMEL_CASE">NUMBER_FORMAT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#NUMBER_FORMAT_KEY_SNAKE_CASE">NUMBER_FORMAT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#OBJECT_WRAPPER_KEY">OBJECT_WRAPPER_KEY</a>, <a href="../../freemarker/core/Configurable.html#OBJECT_WRAPPER_KEY_CAMEL_CASE">OBJECT_WRAPPER_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#OBJECT_WRAPPER_KEY_SNAKE_CASE">OBJECT_WRAPPER_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#OUTPUT_ENCODING_KEY">OUTPUT_ENCODING_KEY</a>, <a href="../../freemarker/core/Configurable.html#OUTPUT_ENCODING_KEY_CAMEL_CASE">OUTPUT_ENCODING_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#OUTPUT_ENCODING_KEY_SNAKE_CASE">OUTPUT_ENCODING_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#SHOW_ERROR_TIPS_KEY">SHOW_ERROR_TIPS_KEY</a>, <a href="../../freemarker/core/Configurable.html#SHOW_ERROR_TIPS_KEY_CAMEL_CASE">SHOW_ERROR_TIPS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#SHOW_ERROR_TIPS_KEY_SNAKE_CASE">SHOW_ERROR_TIPS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#SQL_DATE_AND_TIME_TIME_ZONE_KEY">SQL_DATE_AND_TIME_TIME_ZONE_KEY</a>, <a href="../../freemarker/core/Configurable.html#SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE">SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE">SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS">STRICT_BEAN_MODELS</a>, <a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY">STRICT_BEAN_MODELS_KEY</a>, <a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY_CAMEL_CASE">STRICT_BEAN_MODELS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY_SNAKE_CASE">STRICT_BEAN_MODELS_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#TEMPLATE_EXCEPTION_HANDLER_KEY">TEMPLATE_EXCEPTION_HANDLER_KEY</a>, <a href="../../freemarker/core/Configurable.html#TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE">TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE">TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#TIME_FORMAT_KEY">TIME_FORMAT_KEY</a>, <a href="../../freemarker/core/Configurable.html#TIME_FORMAT_KEY_CAMEL_CASE">TIME_FORMAT_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#TIME_FORMAT_KEY_SNAKE_CASE">TIME_FORMAT_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#TIME_ZONE_KEY">TIME_ZONE_KEY</a>, <a href="../../freemarker/core/Configurable.html#TIME_ZONE_KEY_CAMEL_CASE">TIME_ZONE_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#TIME_ZONE_KEY_SNAKE_CASE">TIME_ZONE_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#TRUNCATE_BUILTIN_ALGORITHM_KEY">TRUNCATE_BUILTIN_ALGORITHM_KEY</a>, <a href="../../freemarker/core/Configurable.html#TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE">TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE">TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#URL_ESCAPING_CHARSET_KEY">URL_ESCAPING_CHARSET_KEY</a>, <a href="../../freemarker/core/Configurable.html#URL_ESCAPING_CHARSET_KEY_CAMEL_CASE">URL_ESCAPING_CHARSET_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#URL_ESCAPING_CHARSET_KEY_SNAKE_CASE">URL_ESCAPING_CHARSET_KEY_SNAKE_CASE</a>, <a href="../../freemarker/core/Configurable.html#WRAP_UNCHECKED_EXCEPTIONS_KEY">WRAP_UNCHECKED_EXCEPTIONS_KEY</a>, <a href="../../freemarker/core/Configurable.html#WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE">WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE</a>, <a href="../../freemarker/core/Configurable.html#WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE">WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-">Template</a></span>(java.lang.String&nbsp;name,
        java.io.Reader&nbsp;reader)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This constructor uses the "default" <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>
 instance, which can easily lead to erroneous, unpredictable behavior.
 See more <a href="../../freemarker/template/Configuration.html#getDefaultConfiguration--"><code>here...</code></a>.</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-">Template</a></span>(java.lang.String&nbsp;name,
        java.io.Reader&nbsp;reader,
        <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg)</code>
<div class="block">Same as <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(String, String, Reader, Configuration)</code></a> with <code>null</code> <code>sourceName</code> parameter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-">Template</a></span>(java.lang.String&nbsp;name,
        java.io.Reader&nbsp;reader,
        <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg,
        java.lang.String&nbsp;encoding)</code>
<div class="block">Convenience constructor for <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-"><code>Template(name, null,
 reader, cfg, encoding)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-freemarker.template.Configuration-">Template</a></span>(java.lang.String&nbsp;name,
        java.lang.String&nbsp;sourceCode,
        <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg)</code>
<div class="block">Convenience constructor for <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(name, new StringReader(reader), cfg)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-">Template</a></span>(java.lang.String&nbsp;name,
        java.lang.String&nbsp;sourceName,
        java.io.Reader&nbsp;reader,
        <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg)</code>
<div class="block">Constructs a template from a character stream.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-freemarker.core.ParserConfiguration-java.lang.String-">Template</a></span>(java.lang.String&nbsp;name,
        java.lang.String&nbsp;sourceName,
        java.io.Reader&nbsp;reader,
        <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg,
        <a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core">ParserConfiguration</a>&nbsp;customParserConfiguration,
        java.lang.String&nbsp;encoding)</code>
<div class="block">Same as <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-"><code>Template(String, String, Reader, Configuration, String)</code></a>, but also specifies a
 <a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core"><code>TemplateConfiguration</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-">Template</a></span>(java.lang.String&nbsp;name,
        java.lang.String&nbsp;sourceName,
        java.io.Reader&nbsp;reader,
        <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg,
        java.lang.String&nbsp;encoding)</code>
<div class="block">Same as <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(String, String, Reader, Configuration)</code></a>, but also specifies the template's encoding (not
 recommended).</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#addImport-freemarker.core.LibraryLoad-">addImport</a></span>(freemarker.core.LibraryLoad&nbsp;ll)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#addMacro-freemarker.core.Macro-">addMacro</a></span>(freemarker.core.Macro&nbsp;macro)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#addPrefixNSMapping-java.lang.String-java.lang.String-">addPrefixNSMapping</a></span>(java.lang.String&nbsp;prefix,
                  java.lang.String&nbsp;nsURI)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#containingElements-int-int-">containingElements</a></span>(int&nbsp;column,
                  int&nbsp;line)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#createProcessingEnvironment-java.lang.Object-java.io.Writer-">createProcessingEnvironment</a></span>(java.lang.Object&nbsp;dataModel,
                           java.io.Writer&nbsp;out)</code>
<div class="block">Same as <a href="../../freemarker/template/Template.html#createProcessingEnvironment-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-"><code>createProcessingEnvironment(dataModel, out, null)</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#createProcessingEnvironment-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-">createProcessingEnvironment</a></span>(java.lang.Object&nbsp;dataModel,
                           java.io.Writer&nbsp;out,
                           <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)</code>
<div class="block">Creates a <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> object, using this template, the data-model provided as
 parameter.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#dump-java.io.PrintStream-">dump</a></span>(java.io.PrintStream&nbsp;ps)</code>
<div class="block">Dump the raw template in canonical form.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#dump-java.io.Writer-">dump</a></span>(java.io.Writer&nbsp;out)</code>
<div class="block">Dump the raw template in canonical form.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getActualNamingConvention--">getActualNamingConvention</a></span>()</code>
<div class="block">Returns the naming convention the parser has chosen for this template.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getActualTagSyntax--">getActualTagSyntax</a></span>()</code>
<div class="block">Returns the tag syntax the parser has chosen for this template.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getAutoEscaping--">getAutoEscaping</a></span>()</code>
<div class="block">Returns if the template actually uses auto-escaping (see <a href="../../freemarker/template/Configuration.html#setAutoEscapingPolicy-int-"><code>Configuration.setAutoEscapingPolicy(int)</code></a>).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getConfiguration--">getConfiguration</a></span>()</code>
<div class="block">Returns the Configuration object associated with this template.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getCustomLookupCondition--">getCustomLookupCondition</a></span>()</code>
<div class="block">Gets the custom lookup condition with which this template was found.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getDefaultNS--">getDefaultNS</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getEncoding--">getEncoding</a></span>()</code>
<div class="block">The encoding that was (allegedly) used to read this template; also the the default character encoding used for
 reading files included from this template.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getImports--">getImports</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getInterpolationSyntax--">getInterpolationSyntax</a></span>()</code>
<div class="block">Returns the interpolation syntax the parser has used for this template.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getMacros--">getMacros</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getName--">getName</a></span>()</code>
<div class="block">The usually path-like (or URL-like) identifier of the template, or possibly <code>null</code> for non-stored
 templates.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getNamespaceForPrefix-java.lang.String-">getNamespaceForPrefix</a></span>(java.lang.String&nbsp;prefix)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/OutputFormat.html" title="class in freemarker.core">OutputFormat</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getOutputFormat--">getOutputFormat</a></span>()</code>
<div class="block">Returns the output format (see <a href="../../freemarker/template/Configuration.html#setOutputFormat-freemarker.core.OutputFormat-"><code>Configuration.setOutputFormat(OutputFormat)</code></a>) used for this template.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core">ParserConfiguration</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getParserConfiguration--">getParserConfiguration</a></span>()</code>
<div class="block">Returns the <a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core"><code>ParserConfiguration</code></a> that was used for parsing this template.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static <a href="../../freemarker/template/Template.html" title="class in freemarker.template">Template</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getPlainTextTemplate-java.lang.String-java.lang.String-freemarker.template.Configuration-">getPlainTextTemplate</a></span>(java.lang.String&nbsp;name,
                    java.lang.String&nbsp;content,
                    <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;config)</code>
<div class="block">Same as <a href="../../freemarker/template/Template.html#getPlainTextTemplate-java.lang.String-java.lang.String-java.lang.String-freemarker.template.Configuration-"><code>getPlainTextTemplate(String, String, String, Configuration)</code></a> with <code>null</code> <code>sourceName</code>
 argument.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static <a href="../../freemarker/template/Template.html" title="class in freemarker.template">Template</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getPlainTextTemplate-java.lang.String-java.lang.String-java.lang.String-freemarker.template.Configuration-">getPlainTextTemplate</a></span>(java.lang.String&nbsp;name,
                    java.lang.String&nbsp;sourceName,
                    java.lang.String&nbsp;content,
                    <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;config)</code>
<div class="block">Creates (not "get"-s) a <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> that only contains a single block of static text, no dynamic content.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getPrefixedName-java.lang.String-java.lang.String-">getPrefixedName</a></span>(java.lang.String&nbsp;localName,
               java.lang.String&nbsp;nsURI)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getPrefixForNamespace-java.lang.String-">getPrefixForNamespace</a></span>(java.lang.String&nbsp;nsURI)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>freemarker.core.TemplateElement</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getRootTreeNode--">getRootTreeNode</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getSource-int-int-int-int-">getSource</a></span>(int&nbsp;beginColumn,
         int&nbsp;beginLine,
         int&nbsp;endColumn,
         int&nbsp;endLine)</code>
<div class="block">Returns the template source at the location specified by the coordinates given, or <code>null</code> if unavailable.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#getSourceName--">getSourceName</a></span>()</code>
<div class="block">The name that was actually used to load this template from the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> (or from other custom
 storage mechanism).</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-">process</a></span>(java.lang.Object&nbsp;dataModel,
       java.io.Writer&nbsp;out)</code>
<div class="block">Executes template, using the data-model provided, writing the generated output to the supplied <code>Writer</code>.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-">process</a></span>(java.lang.Object&nbsp;dataModel,
       java.io.Writer&nbsp;out,
       <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)</code>
<div class="block">Like <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a>, but overrides the <a href="../../freemarker/core/Configurable.html#getObjectWrapper--"><code>Configurable.getObjectWrapper()</code></a>.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-freemarker.template.TemplateNodeModel-">process</a></span>(java.lang.Object&nbsp;dataModel,
       java.io.Writer&nbsp;out,
       <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper,
       <a href="../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a>&nbsp;rootNode)</code>
<div class="block">Like <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a>, but also sets a (XML-)node to be recursively processed by the template.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#setCustomLookupCondition-java.lang.Object-">setCustomLookupCondition</a></span>(java.lang.Object&nbsp;customLookupCondition)</code>
<div class="block">Mostly only used internally; setter pair of <a href="../../freemarker/template/Template.html#getCustomLookupCondition--"><code>getCustomLookupCondition()</code></a>.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#setEncoding-java.lang.String-">setEncoding</a></span>(java.lang.String&nbsp;encoding)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/Template.html#toString--">toString</a></span>()</code>
<div class="block">Returns a string representing the raw template
 text in canonical form.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.freemarker.core.Configurable">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;freemarker.core.<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a></h3>
<code><a href="../../freemarker/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-">addAutoImport</a>, <a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-">addAutoInclude</a>, <a href="../../freemarker/core/Configurable.html#clone--">clone</a>, <a href="../../freemarker/core/Configurable.html#doAutoImportsAndIncludes-freemarker.core.Environment-">doAutoImportsAndIncludes</a>, <a href="../../freemarker/core/Configurable.html#getArithmeticEngine--">getArithmeticEngine</a>, <a href="../../freemarker/core/Configurable.html#getAttemptExceptionReporter--">getAttemptExceptionReporter</a>, <a href="../../freemarker/core/Configurable.html#getAutoFlush--">getAutoFlush</a>, <a href="../../freemarker/core/Configurable.html#getAutoImports--">getAutoImports</a>, <a href="../../freemarker/core/Configurable.html#getAutoImportsWithoutFallback--">getAutoImportsWithoutFallback</a>, <a href="../../freemarker/core/Configurable.html#getAutoIncludes--">getAutoIncludes</a>, <a href="../../freemarker/core/Configurable.html#getAutoIncludesWithoutFallback--">getAutoIncludesWithoutFallback</a>, <a href="../../freemarker/core/Configurable.html#getBooleanFormat--">getBooleanFormat</a>, <a href="../../freemarker/core/Configurable.html#getCFormat--">getCFormat</a>, <a href="../../freemarker/core/Configurable.html#getClassicCompatibleAsInt--">getClassicCompatibleAsInt</a>, <a href="../../freemarker/core/Configurable.html#getCorrectedNameForUnknownSetting-java.lang.String-">getCorrectedNameForUnknownSetting</a>, <a href="../../freemarker/core/Configurable.html#getCustomAttribute-java.lang.String-">getCustomAttribute</a>, <a href="../../freemarker/core/Configurable.html#getCustomAttributeNames--">getCustomAttributeNames</a>, <a href="../../freemarker/core/Configurable.html#getCustomDateFormat-java.lang.String-">getCustomDateFormat</a>, <a href="../../freemarker/core/Configurable.html#getCustomDateFormats--">getCustomDateFormats</a>, <a href="../../freemarker/core/Configurable.html#getCustomDateFormatsWithoutFallback--">getCustomDateFormatsWithoutFallback</a>, <a href="../../freemarker/core/Configurable.html#getCustomNumberFormat-java.lang.String-">getCustomNumberFormat</a>, <a href="../../freemarker/core/Configurable.html#getCustomNumberFormats--">getCustomNumberFormats</a>, <a href="../../freemarker/core/Configurable.html#getCustomNumberFormatsWithoutFallback--">getCustomNumberFormatsWithoutFallback</a>, <a href="../../freemarker/core/Configurable.html#getDateFormat--">getDateFormat</a>, <a href="../../freemarker/core/Configurable.html#getDateTimeFormat--">getDateTimeFormat</a>, <a href="../../freemarker/core/Configurable.html#getEnvironment--">getEnvironment</a>, <a href="../../freemarker/core/Configurable.html#getLazyAutoImports--">getLazyAutoImports</a>, <a href="../../freemarker/core/Configurable.html#getLazyImports--">getLazyImports</a>, <a href="../../freemarker/core/Configurable.html#getLocale--">getLocale</a>, <a href="../../freemarker/core/Configurable.html#getLogTemplateExceptions--">getLogTemplateExceptions</a>, <a href="../../freemarker/core/Configurable.html#getNewBuiltinClassResolver--">getNewBuiltinClassResolver</a>, <a href="../../freemarker/core/Configurable.html#getNumberFormat--">getNumberFormat</a>, <a href="../../freemarker/core/Configurable.html#getObjectWrapper--">getObjectWrapper</a>, <a href="../../freemarker/core/Configurable.html#getOutputEncoding--">getOutputEncoding</a>, <a href="../../freemarker/core/Configurable.html#getParent--">getParent</a>, <a href="../../freemarker/core/Configurable.html#getSetting-java.lang.String-">getSetting</a>, <a href="../../freemarker/core/Configurable.html#getSettingNames-boolean-">getSettingNames</a>, <a href="../../freemarker/core/Configurable.html#getSettings--">getSettings</a>, <a href="../../freemarker/core/Configurable.html#getShowErrorTips--">getShowErrorTips</a>, <a href="../../freemarker/core/Configurable.html#getSQLDateAndTimeTimeZone--">getSQLDateAndTimeTimeZone</a>, <a href="../../freemarker/core/Configurable.html#getTemplateExceptionHandler--">getTemplateExceptionHandler</a>, <a href="../../freemarker/core/Configurable.html#getTimeFormat--">getTimeFormat</a>, <a href="../../freemarker/core/Configurable.html#getTimeZone--">getTimeZone</a>, <a href="../../freemarker/core/Configurable.html#getTruncateBuiltinAlgorithm--">getTruncateBuiltinAlgorithm</a>, <a href="../../freemarker/core/Configurable.html#getURLEscapingCharset--">getURLEscapingCharset</a>, <a href="../../freemarker/core/Configurable.html#getWrapUncheckedExceptions--">getWrapUncheckedExceptions</a>, <a href="../../freemarker/core/Configurable.html#hasCustomFormats--">hasCustomFormats</a>, <a href="../../freemarker/core/Configurable.html#invalidSettingValueException-java.lang.String-java.lang.String-">invalidSettingValueException</a>, <a href="../../freemarker/core/Configurable.html#isAPIBuiltinEnabled--">isAPIBuiltinEnabled</a>, <a href="../../freemarker/core/Configurable.html#isAPIBuiltinEnabledSet--">isAPIBuiltinEnabledSet</a>, <a href="../../freemarker/core/Configurable.html#isArithmeticEngineSet--">isArithmeticEngineSet</a>, <a href="../../freemarker/core/Configurable.html#isAttemptExceptionReporterSet--">isAttemptExceptionReporterSet</a>, <a href="../../freemarker/core/Configurable.html#isAutoFlushSet--">isAutoFlushSet</a>, <a href="../../freemarker/core/Configurable.html#isAutoImportsSet--">isAutoImportsSet</a>, <a href="../../freemarker/core/Configurable.html#isAutoIncludesSet--">isAutoIncludesSet</a>, <a href="../../freemarker/core/Configurable.html#isBooleanFormatSet--">isBooleanFormatSet</a>, <a href="../../freemarker/core/Configurable.html#isCFormatSet--">isCFormatSet</a>, <a href="../../freemarker/core/Configurable.html#isClassicCompatible--">isClassicCompatible</a>, <a href="../../freemarker/core/Configurable.html#isClassicCompatibleSet--">isClassicCompatibleSet</a>, <a href="../../freemarker/core/Configurable.html#isCustomDateFormatsSet--">isCustomDateFormatsSet</a>, <a href="../../freemarker/core/Configurable.html#isCustomNumberFormatsSet--">isCustomNumberFormatsSet</a>, <a href="../../freemarker/core/Configurable.html#isDateFormatSet--">isDateFormatSet</a>, <a href="../../freemarker/core/Configurable.html#isDateTimeFormatSet--">isDateTimeFormatSet</a>, <a href="../../freemarker/core/Configurable.html#isLazyAutoImportsSet--">isLazyAutoImportsSet</a>, <a href="../../freemarker/core/Configurable.html#isLazyImportsSet--">isLazyImportsSet</a>, <a href="../../freemarker/core/Configurable.html#isLocaleSet--">isLocaleSet</a>, <a href="../../freemarker/core/Configurable.html#isLogTemplateExceptionsSet--">isLogTemplateExceptionsSet</a>, <a href="../../freemarker/core/Configurable.html#isNewBuiltinClassResolverSet--">isNewBuiltinClassResolverSet</a>, <a href="../../freemarker/core/Configurable.html#isNumberFormatSet--">isNumberFormatSet</a>, <a href="../../freemarker/core/Configurable.html#isObjectWrapperSet--">isObjectWrapperSet</a>, <a href="../../freemarker/core/Configurable.html#isOutputEncodingSet--">isOutputEncodingSet</a>, <a href="../../freemarker/core/Configurable.html#isShowErrorTipsSet--">isShowErrorTipsSet</a>, <a href="../../freemarker/core/Configurable.html#isSQLDateAndTimeTimeZoneSet--">isSQLDateAndTimeTimeZoneSet</a>, <a href="../../freemarker/core/Configurable.html#isTemplateExceptionHandlerSet--">isTemplateExceptionHandlerSet</a>, <a href="../../freemarker/core/Configurable.html#isTimeFormatSet--">isTimeFormatSet</a>, <a href="../../freemarker/core/Configurable.html#isTimeZoneSet--">isTimeZoneSet</a>, <a href="../../freemarker/core/Configurable.html#isTruncateBuiltinAlgorithmSet--">isTruncateBuiltinAlgorithmSet</a>, <a href="../../freemarker/core/Configurable.html#isURLEscapingCharsetSet--">isURLEscapingCharsetSet</a>, <a href="../../freemarker/core/Configurable.html#isWrapUncheckedExceptionsSet--">isWrapUncheckedExceptionsSet</a>, <a href="../../freemarker/core/Configurable.html#parseAsImportList-java.lang.String-">parseAsImportList</a>, <a href="../../freemarker/core/Configurable.html#parseAsList-java.lang.String-">parseAsList</a>, <a href="../../freemarker/core/Configurable.html#parseAsSegmentedList-java.lang.String-">parseAsSegmentedList</a>, <a href="../../freemarker/core/Configurable.html#removeAutoImport-java.lang.String-">removeAutoImport</a>, <a href="../../freemarker/core/Configurable.html#removeAutoInclude-java.lang.String-">removeAutoInclude</a>, <a href="../../freemarker/core/Configurable.html#removeCustomAttribute-java.lang.String-">removeCustomAttribute</a>, <a href="../../freemarker/core/Configurable.html#setAPIBuiltinEnabled-boolean-">setAPIBuiltinEnabled</a>, <a href="../../freemarker/core/Configurable.html#setArithmeticEngine-freemarker.core.ArithmeticEngine-">setArithmeticEngine</a>, <a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-">setAttemptExceptionReporter</a>, <a href="../../freemarker/core/Configurable.html#setAutoFlush-boolean-">setAutoFlush</a>, <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-">setAutoImports</a>, <a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-">setAutoIncludes</a>, <a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-">setBooleanFormat</a>, <a href="../../freemarker/core/Configurable.html#setCFormat-freemarker.core.CFormat-">setCFormat</a>, <a href="../../freemarker/core/Configurable.html#setClassicCompatible-boolean-">setClassicCompatible</a>, <a href="../../freemarker/core/Configurable.html#setClassicCompatibleAsInt-int-">setClassicCompatibleAsInt</a>, <a href="../../freemarker/core/Configurable.html#setCustomAttribute-java.lang.String-java.lang.Object-">setCustomAttribute</a>, <a href="../../freemarker/core/Configurable.html#setCustomDateFormats-java.util.Map-">setCustomDateFormats</a>, <a href="../../freemarker/core/Configurable.html#setCustomNumberFormats-java.util.Map-">setCustomNumberFormats</a>, <a href="../../freemarker/core/Configurable.html#setDateFormat-java.lang.String-">setDateFormat</a>, <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-">setDateTimeFormat</a>, <a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-">setLazyAutoImports</a>, <a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-">setLazyImports</a>, <a href="../../freemarker/core/Configurable.html#setLocale-java.util.Locale-">setLocale</a>, <a href="../../freemarker/core/Configurable.html#setLogTemplateExceptions-boolean-">setLogTemplateExceptions</a>, <a href="../../freemarker/core/Configurable.html#setNewBuiltinClassResolver-freemarker.core.TemplateClassResolver-">setNewBuiltinClassResolver</a>, <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-">setNumberFormat</a>, <a href="../../freemarker/core/Configurable.html#setObjectWrapper-freemarker.template.ObjectWrapper-">setObjectWrapper</a>, <a href="../../freemarker/core/Configurable.html#setOutputEncoding-java.lang.String-">setOutputEncoding</a>, <a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-">setSetting</a>, <a href="../../freemarker/core/Configurable.html#setSettings-java.io.InputStream-">setSettings</a>, <a href="../../freemarker/core/Configurable.html#setSettings-java.util.Properties-">setSettings</a>, <a href="../../freemarker/core/Configurable.html#setShowErrorTips-boolean-">setShowErrorTips</a>, <a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-">setSQLDateAndTimeTimeZone</a>, <a href="../../freemarker/core/Configurable.html#setStrictBeanModels-boolean-">setStrictBeanModels</a>, <a href="../../freemarker/core/Configurable.html#setTemplateExceptionHandler-freemarker.template.TemplateExceptionHandler-">setTemplateExceptionHandler</a>, <a href="../../freemarker/core/Configurable.html#setTimeFormat-java.lang.String-">setTimeFormat</a>, <a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-">setTimeZone</a>, <a href="../../freemarker/core/Configurable.html#settingValueAssignmentException-java.lang.String-java.lang.String-java.lang.Throwable-">settingValueAssignmentException</a>, <a href="../../freemarker/core/Configurable.html#setTruncateBuiltinAlgorithm-freemarker.core.TruncateBuiltinAlgorithm-">setTruncateBuiltinAlgorithm</a>, <a href="../../freemarker/core/Configurable.html#setURLEscapingCharset-java.lang.String-">setURLEscapingCharset</a>, <a href="../../freemarker/core/Configurable.html#setWrapUncheckedExceptions-boolean-">setWrapUncheckedExceptions</a>, <a href="../../freemarker/core/Configurable.html#unknownSettingException-java.lang.String-">unknownSettingException</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_NAMESPACE_PREFIX">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_NAMESPACE_PREFIX</h4>
<pre>public static final&nbsp;java.lang.String DEFAULT_NAMESPACE_PREFIX</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.template.Template.DEFAULT_NAMESPACE_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NO_NS_PREFIX">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NO_NS_PREFIX</h4>
<pre>public static final&nbsp;java.lang.String NO_NS_PREFIX</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.template.Template.NO_NS_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Template</h4>
<pre>public&nbsp;Template(java.lang.String&nbsp;name,
                java.io.Reader&nbsp;reader,
                <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg)
         throws java.io.IOException</pre>
<div class="block">Same as <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(String, String, Reader, Configuration)</code></a> with <code>null</code> <code>sourceName</code> parameter.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="Template-java.lang.String-java.lang.String-freemarker.template.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Template</h4>
<pre>public&nbsp;Template(java.lang.String&nbsp;name,
                java.lang.String&nbsp;sourceCode,
                <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg)
         throws java.io.IOException</pre>
<div class="block">Convenience constructor for <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(name, new StringReader(reader), cfg)</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.20</dd>
</dl>
</li>
</ul>
<a name="Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Template</h4>
<pre>public&nbsp;Template(java.lang.String&nbsp;name,
                java.io.Reader&nbsp;reader,
                <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg,
                java.lang.String&nbsp;encoding)
         throws java.io.IOException</pre>
<div class="block">Convenience constructor for <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-"><code>Template(name, null,
 reader, cfg, encoding)</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Template</h4>
<pre>public&nbsp;Template(java.lang.String&nbsp;name,
                java.lang.String&nbsp;sourceName,
                java.io.Reader&nbsp;reader,
                <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg)
         throws java.io.IOException</pre>
<div class="block">Constructs a template from a character stream. Note that this is a relatively expensive operation; where higher
 performance matters, you should re-use (cache) <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> instances instead of re-creating them from the
 same source again and again. (<a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>and its overloads already do such reuse.</code></a>)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The path of the template file relatively to the (virtual) directory that you use to store the
            templates (except if <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-"><code>sourceName</code></a>
            differs from it). Shouldn't start with <code>'/'</code>. Should use <code>'/'</code>, not <code>'\'</code>. Check
            <a href="../../freemarker/template/Template.html#getName--"><code>getName()</code></a> to see how the name will be used. The name should be independent of the actual
            storage mechanism and physical location as far as possible. Even when the templates are stored
            straightforwardly in real files (they often aren't; see <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>), the name shouldn't be
            an absolute file path. Like if the template is stored in <code>"/www/templates/forum/main.ftl"</code>, and
            you are using <code>"/www/templates/"</code> as the template root directory via
            <a href="../../freemarker/template/Configuration.html#setDirectoryForTemplateLoading-java.io.File-"><code>Configuration.setDirectoryForTemplateLoading(java.io.File)</code></a>, then the template name will be
            <code>"forum/main.ftl"</code>. The name can be <code>null</code> (should be used for template made on-the-fly
            instead of being loaded from somewhere), in which case relative paths in it will be relative to
            the template root directory (and here again, it's the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> that knows what that
            "physically" means).</dd>
<dd><code>sourceName</code> - See <a href="../../freemarker/template/Template.html#getSourceName--"><code>getSourceName()</code></a> for the meaning. Can be <code>null</code>, in which case
            <a href="../../freemarker/template/Template.html#getSourceName--"><code>getSourceName()</code></a> will return the same as <a href="../../freemarker/template/Template.html#getName--"><code>getName()</code></a>.</dd>
<dd><code>reader</code> - The character stream to read from. It will always be closed (<code>Reader.close()</code>) by
            this method (this is for backward compatibility; later major versions may discontinue this behavior).
            The <code>Reader</code> need not be buffered, because this method ensures that it will be read in few
            kilobyte chunks, not byte by byte.</dd>
<dd><code>cfg</code> - The Configuration object that this Template is associated with. If this is <code>null</code>, the "default"
            <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> object is used, which is highly discouraged, because it can easily lead to
            erroneous, unpredictable behavior. (See more <a href="../../freemarker/template/Configuration.html#getDefaultConfiguration--"><code>here...</code></a>)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Template</h4>
<pre>public&nbsp;Template(java.lang.String&nbsp;name,
                java.lang.String&nbsp;sourceName,
                java.io.Reader&nbsp;reader,
                <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg,
                java.lang.String&nbsp;encoding)
         throws java.io.IOException</pre>
<div class="block">Same as <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(String, String, Reader, Configuration)</code></a>, but also specifies the template's encoding (not
 recommended).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoding</code> - This is the encoding that we are supposed to be using. At the first glance it's unnecessary because we
            already have a <code>Reader</code> (so decoding with the charset has already happened), however, if this is
            non-<code>null</code> and there's an <code>#ftl</code> header with <code>encoding</code> parameter, they must match,
            or else a <a href="../../freemarker/template/Template.WrongEncodingException.html" title="class in freemarker.template"><code>Template.WrongEncodingException</code></a> is thrown. Thus, it should be set if to decode the template,
            we were using an encoding (a charset), otherwise it should be <code>null</code>. It's also kept as
            meta-info (returned by <a href="../../freemarker/template/Template.html#getEncoding--"><code>getEncoding()</code></a>). It also has an impact when <code>#include</code>-ing or
            <code>#import</code>-ing another template from this template, as its default encoding will be this. But
            this behavior of said directives is considered to be harmful, and will be probably phased out.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-freemarker.core.ParserConfiguration-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Template</h4>
<pre>public&nbsp;Template(java.lang.String&nbsp;name,
                java.lang.String&nbsp;sourceName,
                java.io.Reader&nbsp;reader,
                <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;cfg,
                <a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core">ParserConfiguration</a>&nbsp;customParserConfiguration,
                java.lang.String&nbsp;encoding)
         throws java.io.IOException</pre>
<div class="block">Same as <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-"><code>Template(String, String, Reader, Configuration, String)</code></a>, but also specifies a
 <a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core"><code>TemplateConfiguration</code></a>. This is mostly meant to be used by FreeMarker internally, but advanced users might
 still find this useful.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>customParserConfiguration</code> - Overrides the parsing related configuration settings of the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> parameter; can be
            <code>null</code>. This is useful as the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> is normally a singleton shared by all
            templates, and so it's not good for specifying template-specific settings. (While <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a>
            itself has methods to specify settings just for that template, those don't influence the parsing, and
            you only have opportunity to call them after the parsing anyway.) This objects is often a
            <a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core"><code>TemplateConfiguration</code></a> whose parent is the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> parameter, and then it
            practically just overrides some of the parser settings, as the others are inherited from the
            <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>. Note that if this is a <a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core"><code>TemplateConfiguration</code></a>, you will also want to
            call <a href="../../freemarker/core/TemplateConfiguration.html#apply-freemarker.template.Template-"><code>TemplateConfiguration.apply(Template)</code></a> on the resulting <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> so that
            <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> settings will be set too, because this constructor only uses it as a
            <a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core"><code>ParserConfiguration</code></a>.</dd>
<dd><code>encoding</code> - Same as in <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.lang.String-java.io.Reader-freemarker.template.Configuration-java.lang.String-"><code>Template(String, String, Reader, Configuration, String)</code></a>. When it's non-<code>null</code>, it overrides the value coming from the <a href="../../freemarker/core/TemplateConfiguration.html#getEncoding--"><code>TemplateConfiguration.getEncoding()</code></a> method of
            the <code>templateConfiguration</code> parameter.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="Template-java.lang.String-java.io.Reader-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Template</h4>
<pre>@Deprecated
public&nbsp;Template(java.lang.String&nbsp;name,
                             java.io.Reader&nbsp;reader)
                      throws java.io.IOException</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This constructor uses the "default" <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>
 instance, which can easily lead to erroneous, unpredictable behavior.
 See more <a href="../../freemarker/template/Configuration.html#getDefaultConfiguration--"><code>here...</code></a>.</span></div>
<div class="block">Equivalent to <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(name, reader, null)</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getPlainTextTemplate-java.lang.String-java.lang.String-freemarker.template.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlainTextTemplate</h4>
<pre>public static&nbsp;<a href="../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>&nbsp;getPlainTextTemplate(java.lang.String&nbsp;name,
                                            java.lang.String&nbsp;content,
                                            <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;config)</pre>
<div class="block">Same as <a href="../../freemarker/template/Template.html#getPlainTextTemplate-java.lang.String-java.lang.String-java.lang.String-freemarker.template.Configuration-"><code>getPlainTextTemplate(String, String, String, Configuration)</code></a> with <code>null</code> <code>sourceName</code>
 argument.</div>
</li>
</ul>
<a name="getPlainTextTemplate-java.lang.String-java.lang.String-java.lang.String-freemarker.template.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlainTextTemplate</h4>
<pre>public static&nbsp;<a href="../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>&nbsp;getPlainTextTemplate(java.lang.String&nbsp;name,
                                            java.lang.String&nbsp;sourceName,
                                            java.lang.String&nbsp;content,
                                            <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;config)</pre>
<div class="block">Creates (not "get"-s) a <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> that only contains a single block of static text, no dynamic content.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - See <a href="../../freemarker/template/Template.html#getName--"><code>getName()</code></a> for more details.</dd>
<dd><code>sourceName</code> - See <a href="../../freemarker/template/Template.html#getSourceName--"><code>getSourceName()</code></a> for more details. If <code>null</code>, it will be the same as the <code>name</code>.</dd>
<dd><code>content</code> - the block of text that this template represents</dd>
<dd><code>config</code> - the configuration to which this template belongs</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="process-java.lang.Object-java.io.Writer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>process</h4>
<pre>public&nbsp;void&nbsp;process(java.lang.Object&nbsp;dataModel,
                    java.io.Writer&nbsp;out)
             throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
                    java.io.IOException</pre>
<div class="block">Executes template, using the data-model provided, writing the generated output to the supplied <code>Writer</code>.
 
 <p>
 For finer control over the runtime environment setup, such as per-HTTP-request configuring of FreeMarker
 settings, you may need to use <a href="../../freemarker/template/Template.html#createProcessingEnvironment-java.lang.Object-java.io.Writer-"><code>createProcessingEnvironment(Object, Writer)</code></a> instead.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataModel</code> - the holder of the variables visible from the template (name-value pairs); usually a
            <code>Map&lt;String, Object&gt;</code> or a JavaBean (where the JavaBean properties will be the variables). Can
            be any object that the <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> in use turns into a <a href="../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template"><code>TemplateHashModel</code></a>. You can
            also use an object that already implements <a href="../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template"><code>TemplateHashModel</code></a>; in that case it won't be
            wrapped. If it's <code>null</code>, an empty data model is used.</dd>
<dd><code>out</code> - The <code>Writer</code> where the output of the template will go. Note that unless you have used
            <a href="../../freemarker/core/Configurable.html#setAutoFlush-boolean-"><code>Configurable.setAutoFlush(boolean)</code></a> to disable this, <code>Writer.flush()</code> will be called at
            the when the template processing was finished. <code>Writer.close()</code> is not called. Can't be
            <code>null</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code> - if an exception occurs during template processing</dd>
<dd><code>java.io.IOException</code> - if an I/O exception occurs during writing to the writer.</dd>
</dl>
</li>
</ul>
<a name="process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-freemarker.template.TemplateNodeModel-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>process</h4>
<pre>public&nbsp;void&nbsp;process(java.lang.Object&nbsp;dataModel,
                    java.io.Writer&nbsp;out,
                    <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper,
                    <a href="../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a>&nbsp;rootNode)
             throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
                    java.io.IOException</pre>
<div class="block">Like <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a>, but also sets a (XML-)node to be recursively processed by the template.
 That node is accessed in the template with <tt>.node</tt>, <tt>#recurse</tt>, etc. See the
 <a href="https://freemarker.apache.org/docs/xgui_declarative.html" target="_blank">Declarative XML Processing</a> as a
 typical example of recursive node processing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rootNode</code> - The root node for recursive processing or <code>null</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code> - if an exception occurs during template processing</dd>
<dd><code>java.io.IOException</code> - if an I/O exception occurs during writing to the writer.</dd>
</dl>
</li>
</ul>
<a name="process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>process</h4>
<pre>public&nbsp;void&nbsp;process(java.lang.Object&nbsp;dataModel,
                    java.io.Writer&nbsp;out,
                    <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)
             throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
                    java.io.IOException</pre>
<div class="block">Like <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a>, but overrides the <a href="../../freemarker/core/Configurable.html#getObjectWrapper--"><code>Configurable.getObjectWrapper()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wrapper</code> - The <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> to be used instead of what <a href="../../freemarker/core/Configurable.html#getObjectWrapper--"><code>Configurable.getObjectWrapper()</code></a>
      provides, or <code>null</code> if you don't want to override that.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="createProcessingEnvironment-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createProcessingEnvironment</h4>
<pre>public&nbsp;<a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;createProcessingEnvironment(java.lang.Object&nbsp;dataModel,
                                               java.io.Writer&nbsp;out,
                                               <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)
                                        throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
                                               java.io.IOException</pre>
<div class="block">Creates a <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> object, using this template, the data-model provided as
 parameter. You have to call <a href="../../freemarker/core/Environment.html#process--"><code>Environment.process()</code></a> on the return value to set off the actual rendering.
 
 <p>Use this method if you want to do some special initialization on the <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> before template
 processing, or if you want to read the <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> after template processing. Otherwise using
 <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a> is simpler.

 <p>Example:

 <pre>
 Environment env = myTemplate.createProcessingEnvironment(root, out, null);
 env.process();</pre>
 
 <p>The above is equivalent with this:
 
 <pre>
 myTemplate.process(root, out);</pre>
 
 <p>But with <tt>createProcessingEnvironment</tt>, you can manipulate the environment
 before and after the processing:
 
 <pre>
 Environment env = myTemplate.createProcessingEnvironment(root, out);
 
 env.setLocale(myUsersPreferredLocale);
 env.setTimeZone(myUsersPreferredTimezone);
 
 env.process();  // output is rendered here
 
 TemplateModel x = env.getVariable("x");  // read back a variable set by the template</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataModel</code> - the holder of the variables visible from all templates; see <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a> for
     more details.</dd>
<dd><code>wrapper</code> - The <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> to use to wrap objects into <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>
     instances. Normally you left it <code>null</code>, in which case <a href="../../freemarker/core/Configurable.html#getObjectWrapper--"><code>Configurable.getObjectWrapper()</code></a> will be
     used.</dd>
<dd><code>out</code> - The <code>Writer</code> where the output of the template will go; see <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>process(Object, Writer)</code></a> for
     more details.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> object created for processing. Call <a href="../../freemarker/core/Environment.html#process--"><code>Environment.process()</code></a> to process the
    template.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code> - if an exception occurs while setting up the Environment object.</dd>
<dd><code>java.io.IOException</code> - if an exception occurs doing any auto-imports</dd>
</dl>
</li>
</ul>
<a name="createProcessingEnvironment-java.lang.Object-java.io.Writer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createProcessingEnvironment</h4>
<pre>public&nbsp;<a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;createProcessingEnvironment(java.lang.Object&nbsp;dataModel,
                                               java.io.Writer&nbsp;out)
                                        throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
                                               java.io.IOException</pre>
<div class="block">Same as <a href="../../freemarker/template/Template.html#createProcessingEnvironment-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-"><code>createProcessingEnvironment(dataModel, out, null)</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Returns a string representing the raw template
 text in canonical form.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block">The usually path-like (or URL-like) identifier of the template, or possibly <code>null</code> for non-stored
 templates. It usually looks like a relative UN*X path; it should use <code>/</code>, not <code>\</code>, and shouldn't
 start with <code>/</code> (but there are no hard guarantees). It's not a real path in a file-system, it's just a name
 that a <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> used to load the backing resource (in simple cases; actually that name is
 <a href="../../freemarker/template/Template.html#getSourceName--"><code>getSourceName()</code></a>, but see it there). Or, it can also be a name that was never used to load the template
 (directly created with <a href="../../freemarker/template/Template.html#Template-java.lang.String-java.io.Reader-freemarker.template.Configuration-"><code>Template(String, Reader, Configuration)</code></a>). Even if the templates are stored
 straightforwardly in files, this is relative to the base directory of the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>. So it really
 could be anything, except that it has importance in these situations:
 
 <p>
 Relative paths to other templates in this template will be resolved relatively to the directory part of this.
 Like if the template name is <code>"foo/this.ftl"</code>, then <code>&lt;#include "other.ftl"&gt;</code> gets the template with
 name <code>"foo/other.ftl"</code>.
 </p>
 
 <p>
 You should not use this name to indicate error locations, or to find the actual templates in general, because
 localized lookup, acquisition and other lookup strategies can transform names before they get to the
 <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> (the template storage) mechanism. Use <a href="../../freemarker/template/Template.html#getSourceName--"><code>getSourceName()</code></a> for these purposes.
 </p>
 
 <p>
 Some frameworks use URL-like template names like <code>"someSchema://foo/bar.ftl"</code>. FreeMarker understands this
 notation, so an absolute path like <code>"/baaz.ftl"</code> in that template will be resolved too
 <code>"someSchema://baaz.ftl"</code>.</div>
</li>
</ul>
<a name="getSourceName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSourceName()</pre>
<div class="block">The name that was actually used to load this template from the <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> (or from other custom
 storage mechanism). This is what should be shown in error messages as the error location. This is usually the
 same as <a href="../../freemarker/template/Template.html#getName--"><code>getName()</code></a>, except when localized lookup, template acquisition (<code>*</code> step in the name), or
 other <a href="../../freemarker/cache/TemplateLookupStrategy.html" title="class in freemarker.cache"><code>TemplateLookupStrategy</code></a> transforms the requested name (<a href="../../freemarker/template/Template.html#getName--"><code>getName()</code></a>) to a different final
 <a href="../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a>-level name. For example, when you get a template with name <code>"foo.ftl"</code> then because
 of localized lookup, it's possible that something like <code>"foo_en.ftl"</code> will be loaded behind the scenes.
 While the template name will be still the same as the requested template name (<code>"foo.ftl"</code>), errors should
 point to <code>"foo_de.ftl"</code>. Note that relative paths are always resolved relatively to the <code>name</code>, not
 to the <code>sourceName</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="getConfiguration--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
<pre>public&nbsp;<a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;getConfiguration()</pre>
<div class="block">Returns the Configuration object associated with this template.</div>
</li>
</ul>
<a name="getParserConfiguration--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParserConfiguration</h4>
<pre>public&nbsp;<a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core">ParserConfiguration</a>&nbsp;getParserConfiguration()</pre>
<div class="block">Returns the <a href="../../freemarker/core/ParserConfiguration.html" title="interface in freemarker.core"><code>ParserConfiguration</code></a> that was used for parsing this template. This is most often the same
 object as <a href="../../freemarker/template/Template.html#getConfiguration--"><code>getConfiguration()</code></a>, but sometimes it's a <a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core"><code>TemplateConfiguration</code></a>, or something else.
 It's never <code>null</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setEncoding-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEncoding</h4>
<pre>@Deprecated
public&nbsp;void&nbsp;setEncoding(java.lang.String&nbsp;encoding)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>encoding</code> - The encoding that was used to read this template. When this template <code>#include</code>-s or
            <code>#import</code>-s another template, by default it will use this encoding for those. For backward
            compatibility, this can be <code>null</code>, which will unset this setting.</dd>
</dl>
</li>
</ul>
<a name="getEncoding--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEncoding</h4>
<pre>public&nbsp;java.lang.String&nbsp;getEncoding()</pre>
<div class="block">The encoding that was (allegedly) used to read this template; also the the default character encoding used for
 reading files included from this template. Possibly <code>null</code>, in which case you are supposed to use
 <a href="../../freemarker/template/Configuration.html#getEncoding-java.util.Locale-"><code>Configuration.getEncoding(Locale)</code></a>.</div>
</li>
</ul>
<a name="getCustomLookupCondition--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomLookupCondition</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getCustomLookupCondition()</pre>
<div class="block">Gets the custom lookup condition with which this template was found. See the <code>customLookupCondition</code>
 parameter of <a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-boolean-"><code>Configuration.getTemplate(String, java.util.Locale, Object, String, boolean, boolean)</code></a> for
 more explanation.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="setCustomLookupCondition-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomLookupCondition</h4>
<pre>public&nbsp;void&nbsp;setCustomLookupCondition(java.lang.Object&nbsp;customLookupCondition)</pre>
<div class="block">Mostly only used internally; setter pair of <a href="../../freemarker/template/Template.html#getCustomLookupCondition--"><code>getCustomLookupCondition()</code></a>. This meant to be called directly
 after instantiating the template with its constructor, after a successfull lookup that used this condition. So
 this should only be called from code that deals with creating new <code>Template</code> objects, like from
 <a href="../../freemarker/cache/TemplateCache.html" title="class in freemarker.cache"><code>TemplateCache</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="getActualTagSyntax--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActualTagSyntax</h4>
<pre>public&nbsp;int&nbsp;getActualTagSyntax()</pre>
<div class="block">Returns the tag syntax the parser has chosen for this template. If the syntax could be determined, it's
 <a href="../../freemarker/template/Configuration.html#SQUARE_BRACKET_TAG_SYNTAX"><code>Configuration.SQUARE_BRACKET_TAG_SYNTAX</code></a> or <a href="../../freemarker/template/Configuration.html#ANGLE_BRACKET_TAG_SYNTAX"><code>Configuration.ANGLE_BRACKET_TAG_SYNTAX</code></a>. If the syntax
 couldn't be determined (like because there was no tags in the template, or it was a plain text template), this
 returns whatever the default is in the current configuration, so it's maybe
 <a href="../../freemarker/template/Configuration.html#AUTO_DETECT_TAG_SYNTAX"><code>Configuration.AUTO_DETECT_TAG_SYNTAX</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.20</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/template/Configuration.html#setTagSyntax-int-"><code>Configuration.setTagSyntax(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getInterpolationSyntax--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterpolationSyntax</h4>
<pre>public&nbsp;int&nbsp;getInterpolationSyntax()</pre>
<div class="block">Returns the interpolation syntax the parser has used for this template. Because the interpolation syntax is
 never auto-detected, it's not called "getActualInterpolationSyntax" (unlike <a href="../../freemarker/template/Template.html#getActualTagSyntax--"><code>getActualTagSyntax()</code></a>).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A constant like <a href="../../freemarker/template/Configuration.html#LEGACY_INTERPOLATION_SYNTAX"><code>Configuration.LEGACY_INTERPOLATION_SYNTAX</code></a>,
          <a href="../../freemarker/template/Configuration.html#DOLLAR_INTERPOLATION_SYNTAX"><code>Configuration.DOLLAR_INTERPOLATION_SYNTAX</code></a>, or
          <a href="../../freemarker/template/Configuration.html#SQUARE_BRACKET_INTERPOLATION_SYNTAX"><code>Configuration.SQUARE_BRACKET_INTERPOLATION_SYNTAX</code></a>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.28</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/template/Configuration.html#setInterpolationSyntax-int-"><code>Configuration.setInterpolationSyntax(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getActualNamingConvention--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActualNamingConvention</h4>
<pre>public&nbsp;int&nbsp;getActualNamingConvention()</pre>
<div class="block">Returns the naming convention the parser has chosen for this template. If it could be determined, it's
 <a href="../../freemarker/template/Configuration.html#LEGACY_NAMING_CONVENTION"><code>Configuration.LEGACY_NAMING_CONVENTION</code></a> or <a href="../../freemarker/template/Configuration.html#CAMEL_CASE_NAMING_CONVENTION"><code>Configuration.CAMEL_CASE_NAMING_CONVENTION</code></a>. If it
 couldn't be determined (like because there no identifier that's part of the template language was used where
 the naming convention matters), this returns whatever the default is in the current configuration, so it's maybe
 <a href="../../freemarker/template/Configuration.html#AUTO_DETECT_TAG_SYNTAX"><code>Configuration.AUTO_DETECT_TAG_SYNTAX</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.23</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/template/Configuration.html#setNamingConvention-int-"><code>Configuration.setNamingConvention(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getOutputFormat--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputFormat</h4>
<pre>public&nbsp;<a href="../../freemarker/core/OutputFormat.html" title="class in freemarker.core">OutputFormat</a>&nbsp;getOutputFormat()</pre>
<div class="block">Returns the output format (see <a href="../../freemarker/template/Configuration.html#setOutputFormat-freemarker.core.OutputFormat-"><code>Configuration.setOutputFormat(OutputFormat)</code></a>) used for this template.
 The output format of a template can come from various places, in order of increasing priority:
 <a href="../../freemarker/template/Configuration.html#getOutputFormat--"><code>Configuration.getOutputFormat()</code></a>, <a href="../../freemarker/core/ParserConfiguration.html#getOutputFormat--"><code>ParserConfiguration.getOutputFormat()</code></a> (which is usually
 provided by <a href="../../freemarker/template/Configuration.html#getTemplateConfigurations--"><code>Configuration.getTemplateConfigurations()</code></a>) and the <code>#ftl</code> header's <code>output_format</code>
 option in the template.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="getAutoEscaping--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoEscaping</h4>
<pre>public&nbsp;boolean&nbsp;getAutoEscaping()</pre>
<div class="block">Returns if the template actually uses auto-escaping (see <a href="../../freemarker/template/Configuration.html#setAutoEscapingPolicy-int-"><code>Configuration.setAutoEscapingPolicy(int)</code></a>). This value
 is decided by the parser based on the actual <a href="../../freemarker/core/OutputFormat.html" title="class in freemarker.core"><code>OutputFormat</code></a>, and the auto-escaping enums, in order of
 increasing priority: <a href="../../freemarker/template/Configuration.html#getAutoEscapingPolicy--"><code>Configuration.getAutoEscapingPolicy()</code></a>, <a href="../../freemarker/core/ParserConfiguration.html#getAutoEscapingPolicy--"><code>ParserConfiguration.getAutoEscapingPolicy()</code></a>
 (which is usually provided by <a href="../../freemarker/template/Configuration.html#getTemplateConfigurations--"><code>Configuration.getTemplateConfigurations()</code></a>), and finally on the <code>#ftl</code>
 header's <code>auto_esc</code> option in the template.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="dump-java.io.PrintStream-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre>public&nbsp;void&nbsp;dump(java.io.PrintStream&nbsp;ps)</pre>
<div class="block">Dump the raw template in canonical form.</div>
</li>
</ul>
<a name="dump-java.io.Writer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre>public&nbsp;void&nbsp;dump(java.io.Writer&nbsp;out)
          throws java.io.IOException</pre>
<div class="block">Dump the raw template in canonical form.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="addMacro-freemarker.core.Macro-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMacro</h4>
<pre>@Deprecated
public&nbsp;void&nbsp;addMacro(freemarker.core.Macro&nbsp;macro)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
<div class="block">Called by code internally to maintain a table of macros</div>
</li>
</ul>
<a name="addImport-freemarker.core.LibraryLoad-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addImport</h4>
<pre>@Deprecated
public&nbsp;void&nbsp;addImport(freemarker.core.LibraryLoad&nbsp;ll)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
<div class="block">Called by code internally to maintain a list of imports</div>
</li>
</ul>
<a name="getSource-int-int-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSource</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSource(int&nbsp;beginColumn,
                                  int&nbsp;beginLine,
                                  int&nbsp;endColumn,
                                  int&nbsp;endLine)</pre>
<div class="block">Returns the template source at the location specified by the coordinates given, or <code>null</code> if unavailable.
 A strange legacy in the behavior of this method is that it replaces tab characters with spaces according the
 value of <a href="../../freemarker/template/Template.html#getParserConfiguration--"><code>getParserConfiguration()</code></a>/<a href="../../freemarker/core/ParserConfiguration.html#getTabSize--"><code>ParserConfiguration.getTabSize()</code></a> (which usually
 comes from <a href="../../freemarker/template/Configuration.html#getTabSize--"><code>Configuration.getTabSize()</code></a>), because tab characters move the column number with more than
 1 in error messages. However, if you set the tab size to 1, this method leaves the tab characters as is.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>beginColumn</code> - the first column of the requested source, 1-based</dd>
<dd><code>beginLine</code> - the first line of the requested source, 1-based</dd>
<dd><code>endColumn</code> - the last column of the requested source, 1-based</dd>
<dd><code>endLine</code> - the last line of the requested source, 1-based</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>TemplateObject.getSource()</code></dd>
</dl>
</li>
</ul>
<a name="getRootTreeNode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootTreeNode</h4>
<pre>@Deprecated
public&nbsp;freemarker.core.TemplateElement&nbsp;getRootTreeNode()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</li>
</ul>
<a name="getMacros--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMacros</h4>
<pre>@Deprecated
public&nbsp;java.util.Map&nbsp;getMacros()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</li>
</ul>
<a name="getImports--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getImports</h4>
<pre>@Deprecated
public&nbsp;java.util.List&nbsp;getImports()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
</li>
</ul>
<a name="addPrefixNSMapping-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPrefixNSMapping</h4>
<pre>@Deprecated
public&nbsp;void&nbsp;addPrefixNSMapping(java.lang.String&nbsp;prefix,
                                            java.lang.String&nbsp;nsURI)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
<div class="block">This is used internally.</div>
</li>
</ul>
<a name="getDefaultNS--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultNS</h4>
<pre>public&nbsp;java.lang.String&nbsp;getDefaultNS()</pre>
</li>
</ul>
<a name="getNamespaceForPrefix-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNamespaceForPrefix</h4>
<pre>public&nbsp;java.lang.String&nbsp;getNamespaceForPrefix(java.lang.String&nbsp;prefix)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the NamespaceUri mapped to this prefix in this template. (Or null if there is none.)</dd>
</dl>
</li>
</ul>
<a name="getPrefixForNamespace-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrefixForNamespace</h4>
<pre>public&nbsp;java.lang.String&nbsp;getPrefixForNamespace(java.lang.String&nbsp;nsURI)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the prefix mapped to this nsURI in this template. (Or null if there is none.)</dd>
</dl>
</li>
</ul>
<a name="getPrefixedName-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrefixedName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getPrefixedName(java.lang.String&nbsp;localName,
                                        java.lang.String&nbsp;nsURI)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the prefixed name, based on the ns_prefixes defined
 in this template's header for the local name and node namespace
 passed in as parameters.</dd>
</dl>
</li>
</ul>
<a name="containingElements-int-int-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>containingElements</h4>
<pre>@Deprecated
public&nbsp;java.util.List&nbsp;containingElements(int&nbsp;column,
                                                      int&nbsp;line)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should only be used internally, and might will be removed later.</span></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of the <code>TemplateElement</code>s containing the given column and line numbers.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Template.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../freemarker/template/SimpleSequence.html" title="class in freemarker.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/template/Template.WrongEncodingException.html" title="class in freemarker.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/template/Template.html" target="_top">Frames</a></li>
<li><a href="Template.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
