blob: ac7326d47c7b3cc38a85295f69a36b9e85430bd3 [file] [log] [blame]
<!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:33 CET 2023 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Configurable (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="Configurable (FreeMarker 2.3.32 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":42,"i36":10,"i37":42,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":42,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10};
var tabs = {65535:["t0","All 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/Configurable.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/core/CommonTemplateMarkupOutputModel.html" title="class in freemarker.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/core/Configurable.SettingValueAssignmentException.html" title="class in freemarker.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/core/Configurable.html" target="_top">Frames</a></li>
<li><a href="Configurable.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.core</div>
<h2 title="Class Configurable" class="title">Class Configurable</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>freemarker.core.Configurable</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>, <a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>, <a href="../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>, <a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core">TemplateConfiguration</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">Configurable</span>
extends java.lang.Object</pre>
<div class="block">This is a common superclass of <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>,
<a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a>, and <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> classes.
It provides settings that are common to each of them. FreeMarker
uses a three-level setting hierarchy - the return value of every setting
getter method on <code>Configurable</code> objects inherits its value from its parent
<code>Configurable</code> object, unless explicitly overridden by a call to a
corresponding setter method on the object itself. The parent of an
<code>Environment</code> object is a <code>Template</code> object, the
parent of a <code>Template</code> object is a <code>Configuration</code>
object.</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/core/Configurable.SettingValueAssignmentException.html" title="class in freemarker.core">Configurable.SettingValueAssignmentException</a></span></code>
<div class="block">The setting name was recognized, but its value couldn't be parsed or the setting couldn't be set for some
other reason.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.UnknownSettingException.html" title="class in freemarker.core">Configurable.UnknownSettingException</a></span></code>
<div class="block">The setting name was not recognized.</div>
</td>
</tr>
</table>
</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/core/Configurable.html#API_BUILTIN_ENABLED_KEY">API_BUILTIN_ENABLED_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#API_BUILTIN_ENABLED_KEY_CAMEL_CASE">API_BUILTIN_ENABLED_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#API_BUILTIN_ENABLED_KEY_SNAKE_CASE">API_BUILTIN_ENABLED_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#ARITHMETIC_ENGINE_KEY">ARITHMETIC_ENGINE_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#ARITHMETIC_ENGINE_KEY_CAMEL_CASE">ARITHMETIC_ENGINE_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#ARITHMETIC_ENGINE_KEY_SNAKE_CASE">ARITHMETIC_ENGINE_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#ATTEMPT_EXCEPTION_REPORTER_KEY">ATTEMPT_EXCEPTION_REPORTER_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE">ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE">ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#AUTO_FLUSH_KEY">AUTO_FLUSH_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#AUTO_FLUSH_KEY_CAMEL_CASE">AUTO_FLUSH_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#AUTO_FLUSH_KEY_SNAKE_CASE">AUTO_FLUSH_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#AUTO_IMPORT_KEY">AUTO_IMPORT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#AUTO_IMPORT_KEY_CAMEL_CASE">AUTO_IMPORT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#AUTO_IMPORT_KEY_SNAKE_CASE">AUTO_IMPORT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#AUTO_INCLUDE_KEY">AUTO_INCLUDE_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#AUTO_INCLUDE_KEY_CAMEL_CASE">AUTO_INCLUDE_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#AUTO_INCLUDE_KEY_SNAKE_CASE">AUTO_INCLUDE_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#BOOLEAN_FORMAT_KEY">BOOLEAN_FORMAT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#BOOLEAN_FORMAT_KEY_CAMEL_CASE">BOOLEAN_FORMAT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#BOOLEAN_FORMAT_KEY_SNAKE_CASE">BOOLEAN_FORMAT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#C_FORMAT_KEY">C_FORMAT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#C_FORMAT_KEY_CAMEL_CASE">C_FORMAT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#C_FORMAT_KEY_SNAKE_CASE">C_FORMAT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#CLASSIC_COMPATIBLE_KEY">CLASSIC_COMPATIBLE_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#CLASSIC_COMPATIBLE_KEY_CAMEL_CASE">CLASSIC_COMPATIBLE_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#CLASSIC_COMPATIBLE_KEY_SNAKE_CASE">CLASSIC_COMPATIBLE_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#CUSTOM_DATE_FORMATS_KEY">CUSTOM_DATE_FORMATS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE">CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE">CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#CUSTOM_NUMBER_FORMATS_KEY">CUSTOM_NUMBER_FORMATS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE">CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE">CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#DATE_FORMAT_KEY">DATE_FORMAT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#DATE_FORMAT_KEY_CAMEL_CASE">DATE_FORMAT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#DATE_FORMAT_KEY_SNAKE_CASE">DATE_FORMAT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#DATETIME_FORMAT_KEY">DATETIME_FORMAT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#DATETIME_FORMAT_KEY_CAMEL_CASE">DATETIME_FORMAT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#DATETIME_FORMAT_KEY_SNAKE_CASE">DATETIME_FORMAT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#LAZY_AUTO_IMPORTS_KEY">LAZY_AUTO_IMPORTS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE">LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE">LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#LAZY_IMPORTS_KEY">LAZY_IMPORTS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#LAZY_IMPORTS_KEY_CAMEL_CASE">LAZY_IMPORTS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#LAZY_IMPORTS_KEY_SNAKE_CASE">LAZY_IMPORTS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#LOCALE_KEY">LOCALE_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#LOCALE_KEY_CAMEL_CASE">LOCALE_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#LOCALE_KEY_SNAKE_CASE">LOCALE_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#LOG_TEMPLATE_EXCEPTIONS_KEY">LOG_TEMPLATE_EXCEPTIONS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE">LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE">LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#NEW_BUILTIN_CLASS_RESOLVER_KEY">NEW_BUILTIN_CLASS_RESOLVER_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE">NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE">NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#NUMBER_FORMAT_KEY">NUMBER_FORMAT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#NUMBER_FORMAT_KEY_CAMEL_CASE">NUMBER_FORMAT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#NUMBER_FORMAT_KEY_SNAKE_CASE">NUMBER_FORMAT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#OBJECT_WRAPPER_KEY">OBJECT_WRAPPER_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#OBJECT_WRAPPER_KEY_CAMEL_CASE">OBJECT_WRAPPER_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#OBJECT_WRAPPER_KEY_SNAKE_CASE">OBJECT_WRAPPER_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#OUTPUT_ENCODING_KEY">OUTPUT_ENCODING_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#OUTPUT_ENCODING_KEY_CAMEL_CASE">OUTPUT_ENCODING_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#OUTPUT_ENCODING_KEY_SNAKE_CASE">OUTPUT_ENCODING_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#SHOW_ERROR_TIPS_KEY">SHOW_ERROR_TIPS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#SHOW_ERROR_TIPS_KEY_CAMEL_CASE">SHOW_ERROR_TIPS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#SHOW_ERROR_TIPS_KEY_SNAKE_CASE">SHOW_ERROR_TIPS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#SQL_DATE_AND_TIME_TIME_ZONE_KEY">SQL_DATE_AND_TIME_TIME_ZONE_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE">SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><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></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#STRICT_BEAN_MODELS">STRICT_BEAN_MODELS</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY"><code>STRICT_BEAN_MODELS_KEY</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY">STRICT_BEAN_MODELS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#STRICT_BEAN_MODELS_KEY_CAMEL_CASE">STRICT_BEAN_MODELS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY_SNAKE_CASE">STRICT_BEAN_MODELS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#TEMPLATE_EXCEPTION_HANDLER_KEY">TEMPLATE_EXCEPTION_HANDLER_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE">TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE">TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#TIME_FORMAT_KEY">TIME_FORMAT_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#TIME_FORMAT_KEY_CAMEL_CASE">TIME_FORMAT_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#TIME_FORMAT_KEY_SNAKE_CASE">TIME_FORMAT_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#TIME_ZONE_KEY">TIME_ZONE_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#TIME_ZONE_KEY_CAMEL_CASE">TIME_ZONE_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#TIME_ZONE_KEY_SNAKE_CASE">TIME_ZONE_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#TRUNCATE_BUILTIN_ALGORITHM_KEY">TRUNCATE_BUILTIN_ALGORITHM_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE">TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE">TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</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/core/Configurable.html#URL_ESCAPING_CHARSET_KEY">URL_ESCAPING_CHARSET_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#URL_ESCAPING_CHARSET_KEY_CAMEL_CASE">URL_ESCAPING_CHARSET_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</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/core/Configurable.html#URL_ESCAPING_CHARSET_KEY_SNAKE_CASE">URL_ESCAPING_CHARSET_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#WRAP_UNCHECKED_EXCEPTIONS_KEY">WRAP_UNCHECKED_EXCEPTIONS_KEY</a></span></code>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
</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/core/Configurable.html#WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE">WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE</a></span></code>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE">WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE</a></span></code>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name.</div>
</td>
</tr>
</table>
</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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#Configurable--">Configurable</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This shouldn't even be public; don't use it.</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#Configurable-freemarker.core.Configurable-">Configurable</a></span>(<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a>&nbsp;parent)</code>
<div class="block">Creates a new instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#Configurable-freemarker.template.Version-">Configurable</a></span>(<a href="../../freemarker/template/Version.html" title="class in freemarker.template">Version</a>&nbsp;incompatibleImprovements)</code>
<div class="block">Intended to be called from inside FreeMarker only.</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="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/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-">addAutoImport</a></span>(java.lang.String&nbsp;namespaceVarName,
java.lang.String&nbsp;templateName)</code>
<div class="block">Adds an invisible <code>#import <i>templateName</i> as <i>namespaceVarName</i></code> at the beginning of the
main template (that's the top-level template that wasn't included/imported from another template).</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/core/Configurable.html#addAutoInclude-java.lang.String-">addAutoInclude</a></span>(java.lang.String&nbsp;templateName)</code>
<div class="block">Adds an invisible <code>#include <i>templateName</i></code> at the beginning of the main template (that's the
top-level template that wasn't included/imported from another template).</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#clone--">clone</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#doAutoImportsAndIncludes-freemarker.core.Environment-">doAutoImportsAndIncludes</a></span>(<a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;env)</code>
<div class="block">Executes the auto-imports and auto-includes for the main template of this environment.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/ArithmeticEngine.html" title="class in freemarker.core">ArithmeticEngine</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getArithmeticEngine--">getArithmeticEngine</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setArithmeticEngine-freemarker.core.ArithmeticEngine-"><code>setArithmeticEngine(ArithmeticEngine)</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template">AttemptExceptionReporter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getAttemptExceptionReporter--">getAttemptExceptionReporter</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-"><code>setAttemptExceptionReporter(AttemptExceptionReporter)</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getAutoFlush--">getAutoFlush</a></span>()</code>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setAutoFlush-boolean-"><code>setAutoFlush(boolean)</code></a></div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getAutoImports--">getAutoImports</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-"><code>setAutoImports(Map)</code></a>; do not modify the returned <code>Map</code>! To be consistent with other
setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply returns that
value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getAutoImportsWithoutFallback--">getAutoImportsWithoutFallback</a></span>()</code>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getAutoImports--"><code>getAutoImports()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> (and so it can be
<code>null</code>).</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getAutoIncludes--">getAutoIncludes</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-"><code>setAutoIncludes(List)</code></a>; do not modify the returned <code>List</code>! To be consistent with
other setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply returns
that value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getAutoIncludesWithoutFallback--">getAutoIncludesWithoutFallback</a></span>()</code>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getAutoIncludes--"><code>getAutoIncludes()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> (and so it can be
<code>null</code>).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getBooleanFormat--">getBooleanFormat</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-"><code>setBooleanFormat(String)</code></a>.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/CFormat.html" title="class in freemarker.core">CFormat</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCFormat--">getCFormat</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setCFormat-freemarker.core.CFormat-"><code>setCFormat(CFormat)</code></a>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getClassicCompatibleAsInt--">getClassicCompatibleAsInt</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCorrectedNameForUnknownSetting-java.lang.String-">getCorrectedNameForUnknownSetting</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomAttribute-java.lang.String-">getCustomAttribute</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Retrieves a named custom attribute for this configurable.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomAttributeNames--">getCustomAttributeNames</a></span>()</code>
<div class="block">Returns an array with names of all custom attributes defined directly
on this configurable.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomDateFormat-java.lang.String-">getCustomDateFormat</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Gets the custom name format registered for the name.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomDateFormats--">getCustomDateFormats</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setCustomDateFormats-java.util.Map-"><code>setCustomDateFormats(Map)</code></a>; do not modify the returned <code>Map</code>! To be consistent with
other setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply returns
that value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomDateFormatsWithoutFallback--">getCustomDateFormatsWithoutFallback</a></span>()</code>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getCustomDateFormats--"><code>getCustomDateFormats()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>, nor does it
provide a non-<code>null</code> default when called as the method of a <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomNumberFormat-java.lang.String-">getCustomNumberFormat</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Gets the custom name format registered for the name.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomNumberFormats--">getCustomNumberFormats</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setCustomNumberFormats-java.util.Map-"><code>setCustomNumberFormats(Map)</code></a>; do not modify the returned <code>Map</code>! To be consistent
with other setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply
returns that value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getCustomNumberFormatsWithoutFallback--">getCustomNumberFormatsWithoutFallback</a></span>()</code>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getCustomNumberFormats--"><code>getCustomNumberFormats()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getDateFormat--">getDateFormat</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setDateFormat-java.lang.String-"><code>setDateFormat(String)</code></a>.</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/core/Configurable.html#getDateTimeFormat--">getDateTimeFormat</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>setDateTimeFormat(String)</code></a>.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected <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/core/Configurable.html#getEnvironment--">getEnvironment</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getLazyAutoImports--">getLazyAutoImports</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-"><code>setLazyAutoImports(Boolean)</code></a>.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getLazyImports--">getLazyImports</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-"><code>setLazyImports(boolean)</code></a>.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>java.util.Locale</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getLocale--">getLocale</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setLocale-java.util.Locale-"><code>setLocale(Locale)</code></a>.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getLogTemplateExceptions--">getLogTemplateExceptions</a></span>()</code>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setLogTemplateExceptions-boolean-"><code>setLogTemplateExceptions(boolean)</code></a></div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core">TemplateClassResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getNewBuiltinClassResolver--">getNewBuiltinClassResolver</a></span>()</code>
<div class="block">Retrieves the <a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core"><code>TemplateClassResolver</code></a> used
to resolve classes when "SomeClassName"?new is called in a template.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getNumberFormat--">getNumberFormat</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>setNumberFormat(String)</code></a>.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getObjectWrapper--">getObjectWrapper</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setObjectWrapper-freemarker.template.ObjectWrapper-"><code>setObjectWrapper(ObjectWrapper)</code></a>.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getOutputEncoding--">getOutputEncoding</a></span>()</code>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setOutputEncoding-java.lang.String-"><code>setOutputEncoding(String)</code></a>.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getParent--">getParent</a></span>()</code>
<div class="block">Returns the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object of this object.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getSetting-java.lang.String-">getSetting</a></span>(java.lang.String&nbsp;key)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">It's not possible in general to convert setting values to string,
and thus it's impossible to ensure that <a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"><code>setSetting(String, String)</code></a> will work with
the returned value correctly.</span></div>
</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getSettingNames-boolean-">getSettingNames</a></span>(boolean&nbsp;camelCase)</code>
<div class="block">Returns the valid setting names that aren't <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>-only.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getSettings--">getSettings</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">This method was always defective, and certainly it always
will be. Don't use it. (Simply, it's hardly possible in general to
convert setting values to text in a way that ensures that
<a href="../../freemarker/core/Configurable.html#setSettings-java.util.Properties-"><code>setSettings(Properties)</code></a> will work with them correctly.)</span></div>
</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getShowErrorTips--">getShowErrorTips</a></span>()</code>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setShowErrorTips-boolean-"><code>setShowErrorTips(boolean)</code></a></div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>java.util.TimeZone</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getSQLDateAndTimeTimeZone--">getSQLDateAndTimeTimeZone</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a>.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template">TemplateExceptionHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getTemplateExceptionHandler--">getTemplateExceptionHandler</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setTemplateExceptionHandler-freemarker.template.TemplateExceptionHandler-"><code>setTemplateExceptionHandler(TemplateExceptionHandler)</code></a>.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getTimeFormat--">getTimeFormat</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setTimeFormat-java.lang.String-"><code>setTimeFormat(String)</code></a>.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>java.util.TimeZone</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getTimeZone--">getTimeZone</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-"><code>setTimeZone(TimeZone)</code></a>.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/core/TruncateBuiltinAlgorithm.html" title="class in freemarker.core">TruncateBuiltinAlgorithm</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getTruncateBuiltinAlgorithm--">getTruncateBuiltinAlgorithm</a></span>()</code>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setTruncateBuiltinAlgorithm-freemarker.core.TruncateBuiltinAlgorithm-"><code>setTruncateBuiltinAlgorithm(TruncateBuiltinAlgorithm)</code></a></div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getURLEscapingCharset--">getURLEscapingCharset</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#getWrapUncheckedExceptions--">getWrapUncheckedExceptions</a></span>()</code>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setWrapUncheckedExceptions-boolean-"><code>setWrapUncheckedExceptions(boolean)</code></a>.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#hasCustomFormats--">hasCustomFormats</a></span>()</code>
<div class="block">Tells if this configurable object or its parent defines any custom formats.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>protected <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#invalidSettingValueException-java.lang.String-java.lang.String-">invalidSettingValueException</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;value)</code>&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isAPIBuiltinEnabled--">isAPIBuiltinEnabled</a></span>()</code>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setAPIBuiltinEnabled-boolean-"><code>setAPIBuiltinEnabled(boolean)</code></a></div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isAPIBuiltinEnabledSet--">isAPIBuiltinEnabledSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isArithmeticEngineSet--">isArithmeticEngineSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isAttemptExceptionReporterSet--">isAttemptExceptionReporterSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isAutoFlushSet--">isAutoFlushSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isAutoImportsSet--">isAutoImportsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isAutoIncludesSet--">isAutoIncludesSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isBooleanFormatSet--">isBooleanFormatSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isCFormatSet--">isCFormatSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isClassicCompatible--">isClassicCompatible</a></span>()</code>
<div class="block">Returns whether the engine runs in the "Classic Compatibile" mode.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isClassicCompatibleSet--">isClassicCompatibleSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isCustomDateFormatsSet--">isCustomDateFormatsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isCustomNumberFormatsSet--">isCustomNumberFormatsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isDateFormatSet--">isDateFormatSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isDateTimeFormatSet--">isDateTimeFormatSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isLazyAutoImportsSet--">isLazyAutoImportsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isLazyImportsSet--">isLazyImportsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isLocaleSet--">isLocaleSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isLogTemplateExceptionsSet--">isLogTemplateExceptionsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isNewBuiltinClassResolverSet--">isNewBuiltinClassResolverSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isNumberFormatSet--">isNumberFormatSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isObjectWrapperSet--">isObjectWrapperSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isOutputEncodingSet--">isOutputEncodingSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isShowErrorTipsSet--">isShowErrorTipsSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isSQLDateAndTimeTimeZoneSet--">isSQLDateAndTimeTimeZoneSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isTemplateExceptionHandlerSet--">isTemplateExceptionHandlerSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isTimeFormatSet--">isTimeFormatSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isTimeZoneSet--">isTimeZoneSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isTruncateBuiltinAlgorithmSet--">isTruncateBuiltinAlgorithmSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isURLEscapingCharsetSet--">isURLEscapingCharsetSet</a></span>()</code>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#isWrapUncheckedExceptionsSet--">isWrapUncheckedExceptionsSet</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>protected java.util.HashMap</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#parseAsImportList-java.lang.String-">parseAsImportList</a></span>(java.lang.String&nbsp;text)</code>&nbsp;</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>protected java.util.ArrayList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#parseAsList-java.lang.String-">parseAsList</a></span>(java.lang.String&nbsp;text)</code>&nbsp;</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>protected java.util.ArrayList</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#parseAsSegmentedList-java.lang.String-">parseAsSegmentedList</a></span>(java.lang.String&nbsp;text)</code>&nbsp;</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#removeAutoImport-java.lang.String-">removeAutoImport</a></span>(java.lang.String&nbsp;namespaceVarName)</code>
<div class="block">Removes an auto-import from this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (not from the parents or children);
see <a href="../../freemarker/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-"><code>addAutoImport(String, String)</code></a>.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#removeAutoInclude-java.lang.String-">removeAutoInclude</a></span>(java.lang.String&nbsp;templateName)</code>
<div class="block">Removes the auto-include from this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (not from the parents or children); see
<a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-"><code>addAutoInclude(String)</code></a>.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#removeCustomAttribute-java.lang.String-">removeCustomAttribute</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Removes a named custom attribute for this configurable.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setAPIBuiltinEnabled-boolean-">setAPIBuiltinEnabled</a></span>(boolean&nbsp;value)</code>
<div class="block">Specifies if <code>?api</code> can be used in templates.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setArithmeticEngine-freemarker.core.ArithmeticEngine-">setArithmeticEngine</a></span>(<a href="../../freemarker/core/ArithmeticEngine.html" title="class in freemarker.core">ArithmeticEngine</a>&nbsp;arithmeticEngine)</code>
<div class="block">Sets the arithmetic engine used to perform arithmetic operations.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-">setAttemptExceptionReporter</a></span>(<a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template">AttemptExceptionReporter</a>&nbsp;attemptExceptionReporter)</code>
<div class="block">Specifies how exceptions handled (and hence suppressed) by an <code>#attempt</code> blocks will be logged or otherwise
reported.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setAutoFlush-boolean-">setAutoFlush</a></span>(boolean&nbsp;autoFlush)</code>
<div class="block">Sets whether the output <code>Writer</code> is automatically flushed at
the end of <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, Writer)</code></a> (and its
overloads).</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-">setAutoImports</a></span>(java.util.Map&nbsp;map)</code>
<div class="block">Removes all auto-imports, then calls <a href="../../freemarker/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-"><code>addAutoImport(String, String)</code></a> for each <code>Map</code>-entry (the entry
key is the <code>namespaceVarName</code>).</div>
</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-">setAutoIncludes</a></span>(java.util.List&nbsp;templateNames)</code>
<div class="block">Removes all auto-includes, then calls <a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-"><code>addAutoInclude(String)</code></a> for each <code>List</code> items.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-">setBooleanFormat</a></span>(java.lang.String&nbsp;booleanFormat)</code>
<div class="block">The string value for the boolean <code>true</code> and <code>false</code> values, usually intended for human consumption
(not for a computer language), separated with comma.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setCFormat-freemarker.core.CFormat-">setCFormat</a></span>(<a href="../../freemarker/core/CFormat.html" title="class in freemarker.core">CFormat</a>&nbsp;cFormat)</code>
<div class="block">Sets the format (usually a computer language) used for <code>?c</code>, <code>?cn</code>, and for the
<code>"c"</code> (<code>"computer"</code> before 2.3.32) <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>number_format</code></a>, and the
<code>"c"</code> <a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-"><code>boolean_format</code></a>.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setClassicCompatible-boolean-">setClassicCompatible</a></span>(boolean&nbsp;classicCompatibility)</code>
<div class="block">Toggles the "Classic Compatible" mode.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setClassicCompatibleAsInt-int-">setClassicCompatibleAsInt</a></span>(int&nbsp;classicCompatibility)</code>
<div class="block">Same as <a href="../../freemarker/core/Configurable.html#setClassicCompatible-boolean-"><code>setClassicCompatible(boolean)</code></a>, but allows some extra values.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setCustomAttribute-java.lang.String-java.lang.Object-">setCustomAttribute</a></span>(java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)</code>
<div class="block">Sets a named custom attribute for this configurable.</div>
</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setCustomDateFormats-java.util.Map-">setCustomDateFormats</a></span>(java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&gt;&nbsp;customDateFormats)</code>
<div class="block">Associates names with formatter factories, which then can be referred by the <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>date_format</code></a>, <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>time_format</code></a>, and <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>datetime_format</code></a> settings with values starting with <code>@<i>name</i></code>.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setCustomNumberFormats-java.util.Map-">setCustomNumberFormats</a></span>(java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&gt;&nbsp;customNumberFormats)</code>
<div class="block">Associates names with formatter factories, which then can be referred by the <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>number_format</code></a> setting with values starting with <code>@<i>name</i></code>.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setDateFormat-java.lang.String-">setDateFormat</a></span>(java.lang.String&nbsp;dateFormat)</code>
<div class="block">Sets the format used to convert <code>Date</code>-s that are date-only (no time part) values to string-s,
also the format that <code>someString?date</code> will use to parse strings.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-">setDateTimeFormat</a></span>(java.lang.String&nbsp;dateTimeFormat)</code>
<div class="block">Sets the format used to convert <code>Date</code>-s that are date-time (timestamp) values to string-s,
also the format that <code>someString?datetime</code> will use to parse strings.</div>
</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-">setLazyAutoImports</a></span>(java.lang.Boolean&nbsp;lazyAutoImports)</code>
<div class="block">Specifies if <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-">auto-imports</a> will be
<a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-"><code>lazy imports</code></a>.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-">setLazyImports</a></span>(boolean&nbsp;lazyImports)</code>
<div class="block">Specifies if <code>&lt;#import ...&gt;</code> (and <a href="../../freemarker/core/Environment.html#importLib-java.lang.String-java.lang.String-"><code>Environment.importLib(String, String)</code></a>) should delay the loading
and processing of the imported templates until the content of the imported namespace is actually accessed.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setLocale-java.util.Locale-">setLocale</a></span>(java.util.Locale&nbsp;locale)</code>
<div class="block">Sets the locale used for number and date formatting (among others), also the locale used for searching
localized template variations when no locale was explicitly requested.</div>
</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setLogTemplateExceptions-boolean-">setLogTemplateExceptions</a></span>(boolean&nbsp;value)</code>
<div class="block">Specifies if <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>-s thrown by template processing are logged by FreeMarker or not.</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setNewBuiltinClassResolver-freemarker.core.TemplateClassResolver-">setNewBuiltinClassResolver</a></span>(<a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core">TemplateClassResolver</a>&nbsp;newBuiltinClassResolver)</code>
<div class="block">Sets the <a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core"><code>TemplateClassResolver</code></a> that is used when the
<code>new</code> built-in is called in a template.</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-">setNumberFormat</a></span>(java.lang.String&nbsp;numberFormat)</code>
<div class="block">Sets the number format used to convert numbers to strings.</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setObjectWrapper-freemarker.template.ObjectWrapper-">setObjectWrapper</a></span>(<a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;objectWrapper)</code>
<div class="block">Sets the object wrapper used to wrap objects to <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s.</div>
</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setOutputEncoding-java.lang.String-">setOutputEncoding</a></span>(java.lang.String&nbsp;outputEncoding)</code>
<div class="block">Informs FreeMarker about the charset used for the output.</div>
</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-">setSetting</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;value)</code>
<div class="block">Sets a FreeMarker setting by a name and string value.</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setSettings-java.io.InputStream-">setSettings</a></span>(java.io.InputStream&nbsp;propsIn)</code>
<div class="block">Reads a setting list (key and element pairs) from the input stream.</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setSettings-java.util.Properties-">setSettings</a></span>(java.util.Properties&nbsp;props)</code>
<div class="block">Set the settings stored in a <code>Properties</code> object.</div>
</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setShowErrorTips-boolean-">setShowErrorTips</a></span>(boolean&nbsp;showTips)</code>
<div class="block">Sets if tips should be shown in error messages of errors arising during template processing.</div>
</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-">setSQLDateAndTimeTimeZone</a></span>(java.util.TimeZone&nbsp;tz)</code>
<div class="block">Sets the time zone used when dealing with <code>java.sql.Date</code> and
<code>java.sql.Time</code> values.</div>
</td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setStrictBeanModels-boolean-">setStrictBeanModels</a></span>(boolean&nbsp;strict)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Set this on the <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> itself.</span></div>
</div>
</td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setTemplateExceptionHandler-freemarker.template.TemplateExceptionHandler-">setTemplateExceptionHandler</a></span>(<a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template">TemplateExceptionHandler</a>&nbsp;templateExceptionHandler)</code>
<div class="block">Sets the exception handler used to handle exceptions occurring inside templates.</div>
</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setTimeFormat-java.lang.String-">setTimeFormat</a></span>(java.lang.String&nbsp;timeFormat)</code>
<div class="block">Sets the format used to convert <code>Date</code>-s that are time (no date part) values to string-s, also
the format that <code>someString?time</code> will use to parse strings.</div>
</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-">setTimeZone</a></span>(java.util.TimeZone&nbsp;timeZone)</code>
<div class="block">Sets the time zone to use when formatting date/time values.</div>
</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>protected <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#settingValueAssignmentException-java.lang.String-java.lang.String-java.lang.Throwable-">settingValueAssignmentException</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;value,
java.lang.Throwable&nbsp;cause)</code>&nbsp;</td>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setTruncateBuiltinAlgorithm-freemarker.core.TruncateBuiltinAlgorithm-">setTruncateBuiltinAlgorithm</a></span>(<a href="../../freemarker/core/TruncateBuiltinAlgorithm.html" title="class in freemarker.core">TruncateBuiltinAlgorithm</a>&nbsp;truncateBuiltinAlgorithm)</code>
<div class="block">Specifies the algorithm used for <code>?truncate</code>.</div>
</td>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setURLEscapingCharset-java.lang.String-">setURLEscapingCharset</a></span>(java.lang.String&nbsp;urlEscapingCharset)</code>
<div class="block">Sets the URL escaping (URL encoding, percentage encoding) charset.</div>
</td>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#setWrapUncheckedExceptions-boolean-">setWrapUncheckedExceptions</a></span>(boolean&nbsp;wrapUncheckedExceptions)</code>
<div class="block">Specifies if unchecked exceptions thrown during expression evaluation or during executing custom directives (and
transform) will be wrapped into <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>-s, or will bubble up to the caller of
<a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-"><code>Template.process(Object, Writer, ObjectWrapper)</code></a> as is.</div>
</td>
</tr>
<tr id="i121" class="rowColor">
<td class="colFirst"><code>protected <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/core/Configurable.html#unknownSettingException-java.lang.String-">unknownSettingException</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Creates the exception that should be thrown when a setting name isn't recognized.</div>
</td>
</tr>
</table>
<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, toString, 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="LOCALE_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOCALE_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String LOCALE_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LOCALE_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOCALE_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOCALE_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String LOCALE_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LOCALE_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOCALE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOCALE_KEY</h4>
<pre>public static final&nbsp;java.lang.String LOCALE_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LOCALE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="C_FORMAT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>C_FORMAT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String C_FORMAT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.C_FORMAT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="C_FORMAT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>C_FORMAT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String C_FORMAT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.C_FORMAT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="C_FORMAT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>C_FORMAT_KEY</h4>
<pre>public static final&nbsp;java.lang.String C_FORMAT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.C_FORMAT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NUMBER_FORMAT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NUMBER_FORMAT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String NUMBER_FORMAT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.NUMBER_FORMAT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NUMBER_FORMAT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NUMBER_FORMAT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String NUMBER_FORMAT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.NUMBER_FORMAT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NUMBER_FORMAT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NUMBER_FORMAT_KEY</h4>
<pre>public static final&nbsp;java.lang.String NUMBER_FORMAT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.NUMBER_FORMAT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CUSTOM_NUMBER_FORMATS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CUSTOM_NUMBER_FORMATS_KEY</h4>
<pre>public static final&nbsp;java.lang.String CUSTOM_NUMBER_FORMATS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CUSTOM_NUMBER_FORMATS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TIME_FORMAT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_FORMAT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String TIME_FORMAT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TIME_FORMAT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TIME_FORMAT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_FORMAT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String TIME_FORMAT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TIME_FORMAT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TIME_FORMAT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_FORMAT_KEY</h4>
<pre>public static final&nbsp;java.lang.String TIME_FORMAT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TIME_FORMAT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATE_FORMAT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DATE_FORMAT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String DATE_FORMAT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.DATE_FORMAT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATE_FORMAT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DATE_FORMAT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String DATE_FORMAT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.DATE_FORMAT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATE_FORMAT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DATE_FORMAT_KEY</h4>
<pre>public static final&nbsp;java.lang.String DATE_FORMAT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.DATE_FORMAT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CUSTOM_DATE_FORMATS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CUSTOM_DATE_FORMATS_KEY</h4>
<pre>public static final&nbsp;java.lang.String CUSTOM_DATE_FORMATS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CUSTOM_DATE_FORMATS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATETIME_FORMAT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DATETIME_FORMAT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String DATETIME_FORMAT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.DATETIME_FORMAT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATETIME_FORMAT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DATETIME_FORMAT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String DATETIME_FORMAT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.DATETIME_FORMAT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATETIME_FORMAT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DATETIME_FORMAT_KEY</h4>
<pre>public static final&nbsp;java.lang.String DATETIME_FORMAT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.DATETIME_FORMAT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TIME_ZONE_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_ZONE_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String TIME_ZONE_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TIME_ZONE_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TIME_ZONE_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_ZONE_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String TIME_ZONE_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TIME_ZONE_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TIME_ZONE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_ZONE_KEY</h4>
<pre>public static final&nbsp;java.lang.String TIME_ZONE_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TIME_ZONE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SQL_DATE_AND_TIME_TIME_ZONE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQL_DATE_AND_TIME_TIME_ZONE_KEY</h4>
<pre>public static final&nbsp;java.lang.String SQL_DATE_AND_TIME_TIME_ZONE_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.SQL_DATE_AND_TIME_TIME_ZONE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLASSIC_COMPATIBLE_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLASSIC_COMPATIBLE_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String CLASSIC_COMPATIBLE_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CLASSIC_COMPATIBLE_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLASSIC_COMPATIBLE_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLASSIC_COMPATIBLE_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String CLASSIC_COMPATIBLE_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CLASSIC_COMPATIBLE_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLASSIC_COMPATIBLE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLASSIC_COMPATIBLE_KEY</h4>
<pre>public static final&nbsp;java.lang.String CLASSIC_COMPATIBLE_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.CLASSIC_COMPATIBLE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TEMPLATE_EXCEPTION_HANDLER_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEMPLATE_EXCEPTION_HANDLER_KEY</h4>
<pre>public static final&nbsp;java.lang.String TEMPLATE_EXCEPTION_HANDLER_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TEMPLATE_EXCEPTION_HANDLER_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.27</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.ATTEMPT_EXCEPTION_REPORTER_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.27</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.ATTEMPT_EXCEPTION_REPORTER_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTEMPT_EXCEPTION_REPORTER_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTEMPT_EXCEPTION_REPORTER_KEY</h4>
<pre>public static final&nbsp;java.lang.String ATTEMPT_EXCEPTION_REPORTER_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.ATTEMPT_EXCEPTION_REPORTER_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ARITHMETIC_ENGINE_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ARITHMETIC_ENGINE_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String ARITHMETIC_ENGINE_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.ARITHMETIC_ENGINE_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ARITHMETIC_ENGINE_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ARITHMETIC_ENGINE_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String ARITHMETIC_ENGINE_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.ARITHMETIC_ENGINE_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ARITHMETIC_ENGINE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ARITHMETIC_ENGINE_KEY</h4>
<pre>public static final&nbsp;java.lang.String ARITHMETIC_ENGINE_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.ARITHMETIC_ENGINE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OBJECT_WRAPPER_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OBJECT_WRAPPER_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String OBJECT_WRAPPER_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.OBJECT_WRAPPER_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OBJECT_WRAPPER_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OBJECT_WRAPPER_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String OBJECT_WRAPPER_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.OBJECT_WRAPPER_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OBJECT_WRAPPER_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OBJECT_WRAPPER_KEY</h4>
<pre>public static final&nbsp;java.lang.String OBJECT_WRAPPER_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.OBJECT_WRAPPER_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="BOOLEAN_FORMAT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BOOLEAN_FORMAT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String BOOLEAN_FORMAT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.BOOLEAN_FORMAT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="BOOLEAN_FORMAT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BOOLEAN_FORMAT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String BOOLEAN_FORMAT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.BOOLEAN_FORMAT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="BOOLEAN_FORMAT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BOOLEAN_FORMAT_KEY</h4>
<pre>public static final&nbsp;java.lang.String BOOLEAN_FORMAT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.BOOLEAN_FORMAT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OUTPUT_ENCODING_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OUTPUT_ENCODING_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String OUTPUT_ENCODING_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.OUTPUT_ENCODING_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OUTPUT_ENCODING_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OUTPUT_ENCODING_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String OUTPUT_ENCODING_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.OUTPUT_ENCODING_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OUTPUT_ENCODING_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OUTPUT_ENCODING_KEY</h4>
<pre>public static final&nbsp;java.lang.String OUTPUT_ENCODING_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.OUTPUT_ENCODING_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="URL_ESCAPING_CHARSET_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>URL_ESCAPING_CHARSET_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String URL_ESCAPING_CHARSET_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.URL_ESCAPING_CHARSET_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="URL_ESCAPING_CHARSET_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>URL_ESCAPING_CHARSET_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String URL_ESCAPING_CHARSET_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.URL_ESCAPING_CHARSET_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="URL_ESCAPING_CHARSET_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>URL_ESCAPING_CHARSET_KEY</h4>
<pre>public static final&nbsp;java.lang.String URL_ESCAPING_CHARSET_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.URL_ESCAPING_CHARSET_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="STRICT_BEAN_MODELS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRICT_BEAN_MODELS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String STRICT_BEAN_MODELS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.STRICT_BEAN_MODELS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="STRICT_BEAN_MODELS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRICT_BEAN_MODELS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String STRICT_BEAN_MODELS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.STRICT_BEAN_MODELS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="STRICT_BEAN_MODELS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRICT_BEAN_MODELS_KEY</h4>
<pre>public static final&nbsp;java.lang.String STRICT_BEAN_MODELS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.22</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.STRICT_BEAN_MODELS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_FLUSH_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_FLUSH_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String AUTO_FLUSH_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_FLUSH_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_FLUSH_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_FLUSH_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String AUTO_FLUSH_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_FLUSH_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_FLUSH_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_FLUSH_KEY</h4>
<pre>public static final&nbsp;java.lang.String AUTO_FLUSH_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.17</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_FLUSH_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NEW_BUILTIN_CLASS_RESOLVER_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NEW_BUILTIN_CLASS_RESOLVER_KEY</h4>
<pre>public static final&nbsp;java.lang.String NEW_BUILTIN_CLASS_RESOLVER_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.17</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.NEW_BUILTIN_CLASS_RESOLVER_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SHOW_ERROR_TIPS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SHOW_ERROR_TIPS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String SHOW_ERROR_TIPS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.SHOW_ERROR_TIPS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SHOW_ERROR_TIPS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SHOW_ERROR_TIPS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String SHOW_ERROR_TIPS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.SHOW_ERROR_TIPS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SHOW_ERROR_TIPS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SHOW_ERROR_TIPS_KEY</h4>
<pre>public static final&nbsp;java.lang.String SHOW_ERROR_TIPS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.21</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.SHOW_ERROR_TIPS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="API_BUILTIN_ENABLED_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>API_BUILTIN_ENABLED_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String API_BUILTIN_ENABLED_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.API_BUILTIN_ENABLED_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="API_BUILTIN_ENABLED_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>API_BUILTIN_ENABLED_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String API_BUILTIN_ENABLED_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.API_BUILTIN_ENABLED_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="API_BUILTIN_ENABLED_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>API_BUILTIN_ENABLED_KEY</h4>
<pre>public static final&nbsp;java.lang.String API_BUILTIN_ENABLED_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.22</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.API_BUILTIN_ENABLED_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.29</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TRUNCATE_BUILTIN_ALGORITHM_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.29</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TRUNCATE_BUILTIN_ALGORITHM_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUNCATE_BUILTIN_ALGORITHM_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUNCATE_BUILTIN_ALGORITHM_KEY</h4>
<pre>public static final&nbsp;java.lang.String TRUNCATE_BUILTIN_ALGORITHM_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.TRUNCATE_BUILTIN_ALGORITHM_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.23</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LOG_TEMPLATE_EXCEPTIONS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_TEMPLATE_EXCEPTIONS_KEY</h4>
<pre>public static final&nbsp;java.lang.String LOG_TEMPLATE_EXCEPTIONS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.22</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LOG_TEMPLATE_EXCEPTIONS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.27</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.WRAP_UNCHECKED_EXCEPTIONS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.27</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.WRAP_UNCHECKED_EXCEPTIONS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="WRAP_UNCHECKED_EXCEPTIONS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WRAP_UNCHECKED_EXCEPTIONS_KEY</h4>
<pre>public static final&nbsp;java.lang.String WRAP_UNCHECKED_EXCEPTIONS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints. @since 2.3.27</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.WRAP_UNCHECKED_EXCEPTIONS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAZY_IMPORTS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAZY_IMPORTS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String LAZY_IMPORTS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LAZY_IMPORTS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAZY_IMPORTS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAZY_IMPORTS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String LAZY_IMPORTS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LAZY_IMPORTS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAZY_IMPORTS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAZY_IMPORTS_KEY</h4>
<pre>public static final&nbsp;java.lang.String LAZY_IMPORTS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LAZY_IMPORTS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="LAZY_AUTO_IMPORTS_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LAZY_AUTO_IMPORTS_KEY</h4>
<pre>public static final&nbsp;java.lang.String LAZY_AUTO_IMPORTS_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.LAZY_AUTO_IMPORTS_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_IMPORT_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_IMPORT_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String AUTO_IMPORT_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_IMPORT_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_IMPORT_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_IMPORT_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String AUTO_IMPORT_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_IMPORT_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_IMPORT_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_IMPORT_KEY</h4>
<pre>public static final&nbsp;java.lang.String AUTO_IMPORT_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_IMPORT_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_INCLUDE_KEY_SNAKE_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_INCLUDE_KEY_SNAKE_CASE</h4>
<pre>public static final&nbsp;java.lang.String AUTO_INCLUDE_KEY_SNAKE_CASE</pre>
<div class="block">Legacy, snake case (<code>like_this</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_INCLUDE_KEY_SNAKE_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_INCLUDE_KEY_CAMEL_CASE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_INCLUDE_KEY_CAMEL_CASE</h4>
<pre>public static final&nbsp;java.lang.String AUTO_INCLUDE_KEY_CAMEL_CASE</pre>
<div class="block">Modern, camel case (<code>likeThis</code>) variation of the setting name. @since 2.3.25</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_INCLUDE_KEY_CAMEL_CASE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTO_INCLUDE_KEY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTO_INCLUDE_KEY</h4>
<pre>public static final&nbsp;java.lang.String AUTO_INCLUDE_KEY</pre>
<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to backward compatibility constraints.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.AUTO_INCLUDE_KEY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="STRICT_BEAN_MODELS">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STRICT_BEAN_MODELS</h4>
<pre>@Deprecated
public static final&nbsp;java.lang.String STRICT_BEAN_MODELS</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../freemarker/core/Configurable.html#STRICT_BEAN_MODELS_KEY"><code>STRICT_BEAN_MODELS_KEY</code></a> instead.</span></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#freemarker.core.Configurable.STRICT_BEAN_MODELS">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="Configurable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Configurable</h4>
<pre>@Deprecated
public&nbsp;Configurable()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This shouldn't even be public; don't use it.</span></div>
<div class="block">Creates a top-level configurable, one that doesn't inherit from a parent, and thus stores the default values.</div>
</li>
</ul>
<a name="Configurable-freemarker.template.Version-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Configurable</h4>
<pre>protected&nbsp;Configurable(<a href="../../freemarker/template/Version.html" title="class in freemarker.template">Version</a>&nbsp;incompatibleImprovements)</pre>
<div class="block">Intended to be called from inside FreeMarker only.
Creates a top-level configurable, one that doesn't inherit from a parent, and thus stores the default values.
Called by the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> constructor.</div>
</li>
</ul>
<a name="Configurable-freemarker.core.Configurable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Configurable</h4>
<pre>public&nbsp;Configurable(<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a>&nbsp;parent)</pre>
<div class="block">Creates a new instance. Normally you do not need to use this constructor,
as you don't use <code>Configurable</code> directly, but its subclasses.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="clone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;clone()
throws java.lang.CloneNotSupportedException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.CloneNotSupportedException</code></dd>
</dl>
</li>
</ul>
<a name="getParent--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParent</h4>
<pre>public final&nbsp;<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core">Configurable</a>&nbsp;getParent()</pre>
<div class="block">Returns the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object of this object. The parent stores the default setting values for
this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>. For example, the parent of a <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> object is a
<a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> object, so values not specified on <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a>-level are get from the
<a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> object.
<p>
Note on the parent of <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a>: If you set <a href="../../freemarker/template/Configuration.html#setIncompatibleImprovements-freemarker.template.Version-"><code>incompatible_improvements</code></a> to at least 2.3.22, it will be always the "main" <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a>, that is, the
template for whose processing the <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> was created. With lower <code>incompatible_improvements</code>,
the current parent can temporary change <em>during template execution</em>, for example when your are inside an
<code>#include</code>-d template (among others). Thus, don't build on which <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> the parent of
<a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> is during template execution, unless you set <code>incompatible_improvements</code> to 2.3.22 or
higher.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, or <code>null</code> if this is the root <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object
(i.e, if it's the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> object).</dd>
</dl>
</li>
</ul>
<a name="setClassicCompatible-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassicCompatible</h4>
<pre>public&nbsp;void&nbsp;setClassicCompatible(boolean&nbsp;classicCompatibility)</pre>
<div class="block">Toggles the "Classic Compatible" mode. For a comprehensive description
of this mode, see <a href="../../freemarker/core/Configurable.html#isClassicCompatible--"><code>isClassicCompatible()</code></a>.</div>
</li>
</ul>
<a name="setClassicCompatibleAsInt-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassicCompatibleAsInt</h4>
<pre>public&nbsp;void&nbsp;setClassicCompatibleAsInt(int&nbsp;classicCompatibility)</pre>
<div class="block">Same as <a href="../../freemarker/core/Configurable.html#setClassicCompatible-boolean-"><code>setClassicCompatible(boolean)</code></a>, but allows some extra values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classicCompatibility</code> - <code>0</code> means <code>false</code>, <code>1</code> means <code>true</code>,
<code>2</code> means <code>true</code> but with emulating bugs in early 2.x classic-compatibility mode. Currently
<code>2</code> affects how booleans are converted to string; with <code>1</code> it's always <code>"true"</code>/<code>""</code>,
but with <code>2</code> it's <code>"true"</code>/<code>"false"</code> for values wrapped by <a href="../../freemarker/ext/beans/BeansWrapper.html" title="class in freemarker.ext.beans"><code>BeansWrapper</code></a> as then
<code>Boolean.toString()</code> prevails. Note that <code>someBoolean?string</code> will always consistently format the
boolean according the <code>boolean_format</code> setting, just like in FreeMarker 2.3 and later.</dd>
</dl>
</li>
</ul>
<a name="isClassicCompatible--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClassicCompatible</h4>
<pre>public&nbsp;boolean&nbsp;isClassicCompatible()</pre>
<div class="block">Returns whether the engine runs in the "Classic Compatibile" mode.
When this mode is active, the engine behavior is altered in following
way: (these resemble the behavior of the 1.7.x line of FreeMarker engine,
now named "FreeMarker Classic", hence the name).
<ul>
<li>handle undefined expressions gracefully. Namely when an expression
"expr" evaluates to null:
<ul>
<li>
in <tt>&lt;assign varname=expr&gt;</tt> directive,
or in <tt>${expr}</tt> directive,
or in <tt>otherexpr == expr</tt>,
or in <tt>otherexpr != expr</tt>,
or in <tt>hash[expr]</tt>,
or in <tt>expr[keyOrIndex]</tt> (since 2.3.20),
or in <tt>expr.key</tt> (since 2.3.20),
then it's treated as empty string.
</li>
<li>as argument of <tt>&lt;list expr as item&gt;</tt> or
<tt>&lt;foreach item in expr&gt;</tt>, the loop body is not executed
(as if it were a 0-length list)
</li>
<li>as argument of <tt>&lt;if&gt;</tt> directive, or on other places where a
boolean expression is expected, it's treated as false
</li>
</ul>
</li>
<li>Non-boolean models are accepted in <tt>&lt;if&gt;</tt> directive,
or as operands of logical operators. "Empty" models (zero-length string,
empty sequence or hash) are evaluated as false, all others are evaluated as
true.</li>
<li>When boolean value is treated as a string (i.e. output in
<tt>${...}</tt> directive, or concatenated with other string), true
values are converted to string "true", false values are converted to
empty string. Except, if the value of the setting is <tt>2</tt>, it will be
formatted according the <tt>boolean_format</tt> setting, just like in
2.3.20 and later.
</li>
<li>Scalar models supplied to <tt>&lt;list&gt;</tt> and
<tt>&lt;foreach&gt;</tt> are treated as a one-element list consisting
of the passed model.
</li>
<li>Paths parameter of <tt>&lt;include&gt;</tt> will be interpreted as
absolute path.
</li>
</ul>
In all other aspects, the engine is a 2.1 engine even in compatibility
mode - you don't lose any of the new functionality by enabling it.</div>
</li>
</ul>
<a name="getClassicCompatibleAsInt--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassicCompatibleAsInt</h4>
<pre>public&nbsp;int&nbsp;getClassicCompatibleAsInt()</pre>
</li>
</ul>
<a name="isClassicCompatibleSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClassicCompatibleSet</h4>
<pre>public&nbsp;boolean&nbsp;isClassicCompatibleSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setLocale-java.util.Locale-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocale</h4>
<pre>public&nbsp;void&nbsp;setLocale(java.util.Locale&nbsp;locale)</pre>
<div class="block">Sets the locale used for number and date formatting (among others), also the locale used for searching
localized template variations when no locale was explicitly requested. On the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> level it
defaults to the default locale of system (of the JVM), for server-side application usually you should set it
explicitly in the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> to use the preferred locale of your application instead.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/template/Configuration.html#getTemplate-java.lang.String-java.util.Locale-"><code>Configuration.getTemplate(String, Locale)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLocale--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocale</h4>
<pre>public&nbsp;java.util.Locale&nbsp;getLocale()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setLocale-java.util.Locale-"><code>setLocale(Locale)</code></a>. Not <code>null</code>.</div>
</li>
</ul>
<a name="isCFormatSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCFormatSet</h4>
<pre>public&nbsp;boolean&nbsp;isCFormatSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.32</dd>
</dl>
</li>
</ul>
<a name="setCFormat-freemarker.core.CFormat-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCFormat</h4>
<pre>public&nbsp;void&nbsp;setCFormat(<a href="../../freemarker/core/CFormat.html" title="class in freemarker.core">CFormat</a>&nbsp;cFormat)</pre>
<div class="block">Sets the format (usually a computer language) used for <code>?c</code>, <code>?cn</code>, and for the
<code>"c"</code> (<code>"computer"</code> before 2.3.32) <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>number_format</code></a>, and the
<code>"c"</code> <a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-"><code>boolean_format</code></a>.
<p>The default value depends on <a href="../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible_improvements</code></a>.
If that's 2.3.32 or higher, then it's <a href="../../freemarker/core/JavaScriptOrJSONCFormat.html#INSTANCE"><code>"JavaScript or JSON"</code></a>,
otherwise it's <a href="../../freemarker/core/LegacyCFormat.html#INSTANCE"><code>"legacy"</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.32</dd>
</dl>
</li>
</ul>
<a name="getCFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCFormat</h4>
<pre>public&nbsp;<a href="../../freemarker/core/CFormat.html" title="class in freemarker.core">CFormat</a>&nbsp;getCFormat()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setCFormat-freemarker.core.CFormat-"><code>setCFormat(CFormat)</code></a>. Not <code>null</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.32</dd>
</dl>
</li>
</ul>
<a name="isLocaleSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocaleSet</h4>
<pre>public&nbsp;boolean&nbsp;isLocaleSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setTimeZone-java.util.TimeZone-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeZone</h4>
<pre>public&nbsp;void&nbsp;setTimeZone(java.util.TimeZone&nbsp;timeZone)</pre>
<div class="block">Sets the time zone to use when formatting date/time values.
Defaults to the system time zone (<code>TimeZone.getDefault()</code>), regardless of the "locale" FreeMarker setting,
so in a server application you probably want to set it explicitly in the <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> to match the
preferred time zone of target audience (like the Web page visitor).
<p>If you or the templates set the time zone, you should probably also set
<a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a>!</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a></dd>
</dl>
</li>
</ul>
<a name="getTimeZone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeZone</h4>
<pre>public&nbsp;java.util.TimeZone&nbsp;getTimeZone()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-"><code>setTimeZone(TimeZone)</code></a>.</div>
</li>
</ul>
<a name="isTimeZoneSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTimeZoneSet</h4>
<pre>public&nbsp;boolean&nbsp;isTimeZoneSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setSQLDateAndTimeTimeZone-java.util.TimeZone-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSQLDateAndTimeTimeZone</h4>
<pre>public&nbsp;void&nbsp;setSQLDateAndTimeTimeZone(java.util.TimeZone&nbsp;tz)</pre>
<div class="block">Sets the time zone used when dealing with <code>java.sql.Date</code> and
<code>java.sql.Time</code> values. It defaults to <code>null</code> for backward compatibility, but in most
applications this should be set to the JVM default time zone (server default time zone), because that's what
most JDBC drivers will use when constructing the <code>java.sql.Date</code> and
<code>java.sql.Time</code> values. If this setting is <code>null</code>, FreeMarker will use the value of
(<a href="../../freemarker/core/Configurable.html#getTimeZone--"><code>getTimeZone()</code></a>) for <code>java.sql.Date</code> and <code>java.sql.Time</code> values,
which often gives bad results.
<p>This setting doesn't influence the formatting of other kind of values (like of
<code>java.sql.Timestamp</code> or plain <code>java.util.Date</code> values).
<p>To decide what value you need, a few things has to be understood:
<ul>
<li>Date-only and time-only values in SQL-oriented databases usually store calendar and clock field
values directly (year, month, day, or hour, minute, seconds (with decimals)), as opposed to a set of points
on the physical time line. Thus, unlike SQL timestamps, these values usually aren't meant to be shown
differently depending on the time zone of the audience.
<li>When a JDBC query has to return a date-only or time-only value, it has to convert it to a point on the
physical time line, because that's what <code>Date</code> and its subclasses store (milliseconds since
the epoch). Obviously, this is impossible to do. So JDBC just chooses a physical time which, when rendered
<em>with the JVM default time zone</em>, will give the same field values as those stored
in the database. (Actually, you can give JDBC a calendar, and so it can use other time zones too, but most
application won't care using those overloads.) For example, assume that the system time zone is GMT+02:00.
Then, 2014-07-12 in the database will be translated to physical time 2014-07-11 22:00:00 UTC, because that
rendered in GMT+02:00 gives 2014-07-12 00:00:00. Similarly, 11:57:00 in the database will be translated to
physical time 1970-01-01 09:57:00 UTC. Thus, the physical time stored in the returned value depends on the
default system time zone of the JDBC client, not just on the content of the database. (This used to be the
default behavior of ORM-s, like Hibernate, too.)
<li>The value of the <code>time_zone</code> FreeMarker configuration setting sets the time zone used for the
template output. For example, when a web page visitor has a preferred time zone, the web application framework
may calls <a href="../../freemarker/core/Environment.html#setTimeZone-java.util.TimeZone-"><code>Environment.setTimeZone(TimeZone)</code></a> with that time zone. Thus, the visitor will
see <code>java.sql.Timestamp</code> and plain <code>java.util.Date</code> values as
they look in his own time zone. While
this is desirable for those types, as they meant to represent physical points on the time line, this is not
necessarily desirable for date-only and time-only values. When <code>sql_date_and_time_time_zone</code> is
<code>null</code>, <code>time_zone</code> is used for rendering all kind of date/time/dateTime values, including
<code>java.sql.Date</code> and <code>java.sql.Time</code>, and then if, for example,
<code>time_zone</code> is GMT+00:00, the
values from the earlier examples will be shown as 2014-07-11 (one day off) and 09:57:00 (2 hours off). While
those are the time zone correct renderings, those values are probably meant to be shown "as is".
<li>You may wonder why this setting isn't simply "SQL time zone", that is, why's this time zone not applied to
<code>java.sql.Timestamp</code> values as well. Timestamps in databases refer to a point on
the physical time line, and thus doesn't have the inherent problem of date-only and time-only values.
FreeMarker assumes that the JDBC driver converts time stamps coming from the database so that they store
the distance from the epoch (1970-01-01 00:00:00 UTC), as requested by the <code>Date</code> API.
Then time stamps can be safely rendered in different time zones, and thus need no special treatment.
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tz</code> - Maybe <code>null</code>, in which case <code>java.sql.Date</code> and
<code>java.sql.Time</code> values will be formatted in the time zone returned by
<a href="../../freemarker/core/Configurable.html#getTimeZone--"><code>getTimeZone()</code></a>.
(Note that since <code>null</code> is an allowed value for this setting, it will not cause
<a href="../../freemarker/core/Configurable.html#getSQLDateAndTimeTimeZone--"><code>getSQLDateAndTimeTimeZone()</code></a> to fall back to the parent configuration.)</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.21</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-"><code>setTimeZone(TimeZone)</code></a></dd>
</dl>
</li>
</ul>
<a name="getSQLDateAndTimeTimeZone--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSQLDateAndTimeTimeZone</h4>
<pre>public&nbsp;java.util.TimeZone&nbsp;getSQLDateAndTimeTimeZone()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>null</code> if the value of <a href="../../freemarker/core/Configurable.html#getTimeZone--"><code>getTimeZone()</code></a> should be used for formatting
<code>java.sql.Date</code> and <code>java.sql.Time</code> values, otherwise the time zone
that should be used to format the values of those two types.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.21</dd>
</dl>
</li>
</ul>
<a name="isSQLDateAndTimeTimeZoneSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSQLDateAndTimeTimeZoneSet</h4>
<pre>public&nbsp;boolean&nbsp;isSQLDateAndTimeTimeZoneSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setNumberFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNumberFormat</h4>
<pre>public&nbsp;void&nbsp;setNumberFormat(java.lang.String&nbsp;numberFormat)</pre>
<div class="block">Sets the number format used to convert numbers to strings. Currently, this is one of these:
<ul>
<li><code>"number"</code>: The number format returned by <code>NumberFormat.getNumberInstance(Locale)</code>. This is the
default.</li>
<li><code>"c"</code> (recognized since 2.3.32): The number format used by FTL's <code>c</code> built-in (like in
<code>someNumber?c</code>). So with this <code>${someNumber}</code> will output the same as
<code>${someNumber?c}</code>. This should only be used if the template solely generates source code,
configuration file, or other content that's not read by normal users. If the template contains parts that's
read by normal users (like typical a web page), you are not supposed to use this.</li>
<li><code>"computer"</code>: The old (deprecated) name for <code>"c"</code>. Recognized by all FreeMarker versions.</li>
<li><code>"currency"</code>: The number format returned by <code>NumberFormat.getCurrencyInstance(Locale)</code></li>
<li><code>"percent"</code>: The number format returned by <code>NumberFormat.getPercentInstance(Locale)</code></li>
<li><code>DecimalFormat</code> pattern (like <code>"0.##"</code>). This syntax is extended by FreeMarker
so that you can specify options like the rounding mode and the symbols used after a 2nd semicolon. For
example, <code>",000;; roundingMode=halfUp groupingSeparator=_"</code> will format numbers like <code>",000"</code>
would, but with half-up rounding mode, and <code>_</code> as the group separator. See more about "extended Java
decimal format" in the FreeMarker Manual.
</li>
<li>If the string starts with <code>@</code> character followed by a letter then it's interpreted as a custom number
format, but only if either <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>Configuration.getIncompatibleImprovements()</code></a> is at least 2.3.24, or
there's any custom formats defined (even if custom date/time/dateTime format). The format of a such string
is <code>"@<i>name</i>"</code> or <code>"@<i>name</i> <i>parameters</i>"</code>, where
<code><i>name</i></code> is the key in the <code>Map</code> set by <a href="../../freemarker/core/Configurable.html#setCustomNumberFormats-java.util.Map-"><code>setCustomNumberFormats(Map)</code></a>, and
<code><i>parameters</i></code> is parsed by the custom <a href="../../freemarker/core/TemplateNumberFormat.html" title="class in freemarker.core"><code>TemplateNumberFormat</code></a>.
</li>
</ul>
<p>Defaults to <tt>"number"</tt>.</div>
</li>
</ul>
<a name="getNumberFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberFormat</h4>
<pre>public&nbsp;java.lang.String&nbsp;getNumberFormat()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>setNumberFormat(String)</code></a>.</div>
</li>
</ul>
<a name="isNumberFormatSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNumberFormatSet</h4>
<pre>public&nbsp;boolean&nbsp;isNumberFormatSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="getCustomNumberFormats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomNumberFormats</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&gt;&nbsp;getCustomNumberFormats()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setCustomNumberFormats-java.util.Map-"><code>setCustomNumberFormats(Map)</code></a>; do not modify the returned <code>Map</code>! To be consistent
with other setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply
returns that value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>. So beware, the returned
value doesn't reflect the <code>Map</code> key granularity fallback logic that FreeMarker actually uses for this
setting (for that, use <a href="../../freemarker/core/Configurable.html#getCustomNumberFormat-java.lang.String-"><code>getCustomNumberFormat(String)</code></a>). The returned value isn't a snapshot; it may or
may not shows the changes later made to this setting on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (but usually it's well
defined if until what point settings are possibly modified).
<p>
The return value is never <code>null</code>; called on the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> (top) level, it defaults to an empty
<code>Map</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#getCustomNumberFormatsWithoutFallback--"><code>getCustomNumberFormatsWithoutFallback()</code></a></dd>
</dl>
</li>
</ul>
<a name="getCustomNumberFormatsWithoutFallback--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomNumberFormatsWithoutFallback</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&gt;&nbsp;getCustomNumberFormatsWithoutFallback()</pre>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getCustomNumberFormats--"><code>getCustomNumberFormats()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="setCustomNumberFormats-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomNumberFormats</h4>
<pre>public&nbsp;void&nbsp;setCustomNumberFormats(java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&gt;&nbsp;customNumberFormats)</pre>
<div class="block">Associates names with formatter factories, which then can be referred by the <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>number_format</code></a> setting with values starting with <code>@<i>name</i></code>. Beware, if you specify any custom
formats here, an initial <code>@</code> followed by a letter will have special meaning in number/date/time/datetime
format strings, even if <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>incompatible_improvements</code></a> is less
than 2.3.24 (starting with <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>incompatible_improvements</code></a> 2.3.24
<code>@</code> always has special meaning).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>customNumberFormats</code> - Can't be <code>null</code>. The name must start with an UNICODE letter, and can only contain UNICODE
letters and digits (not <code>_</code>).</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="isCustomNumberFormatsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCustomNumberFormatsSet</h4>
<pre>public&nbsp;boolean&nbsp;isCustomNumberFormatsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="getCustomNumberFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomNumberFormat</h4>
<pre>public&nbsp;<a href="../../freemarker/core/TemplateNumberFormatFactory.html" title="class in freemarker.core">TemplateNumberFormatFactory</a>&nbsp;getCustomNumberFormat(java.lang.String&nbsp;name)</pre>
<div class="block">Gets the custom name format registered for the name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="hasCustomFormats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasCustomFormats</h4>
<pre>public&nbsp;boolean&nbsp;hasCustomFormats()</pre>
<div class="block">Tells if this configurable object or its parent defines any custom formats.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setBooleanFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBooleanFormat</h4>
<pre>public&nbsp;void&nbsp;setBooleanFormat(java.lang.String&nbsp;booleanFormat)</pre>
<div class="block">The string value for the boolean <code>true</code> and <code>false</code> values, usually intended for human consumption
(not for a computer language), separated with comma. For example, <code>"yes,no"</code>. Note that white-space is
significant, so <code>"yes, no"</code> is WRONG (unless you want that leading space before "no"). Because the proper
way of formatting booleans depends on the context too much, it's probably the best to leave this setting on its
default, which will enforce explicit formatting, like <code>${aBoolean?string('on', 'off')}</code>.
<p>For backward compatibility the default is <code>"true,false"</code>, but using that value is denied for automatic
boolean-to-string conversion, like <code>${myBoolean}</code> will fail with it. If you generate the piece of
output for "computer audience" as opposed to "human audience", then you should write
<code>${myBoolean?c}</code>, which will print <code>true</code> or <code>false</code>. If you really want to always
format for computer audience, then it's might be reasonable to set this setting to <code>c</code>.
<p>Note that automatic boolean-to-string conversion only exists since FreeMarker 2.3.20. Earlier this setting
only influenced the result of <code>myBool?string</code>.</div>
</li>
</ul>
<a name="getBooleanFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBooleanFormat</h4>
<pre>public&nbsp;java.lang.String&nbsp;getBooleanFormat()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-"><code>setBooleanFormat(String)</code></a>.</div>
</li>
</ul>
<a name="isBooleanFormatSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBooleanFormatSet</h4>
<pre>public&nbsp;boolean&nbsp;isBooleanFormatSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setTimeFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeFormat</h4>
<pre>public&nbsp;void&nbsp;setTimeFormat(java.lang.String&nbsp;timeFormat)</pre>
<div class="block">Sets the format used to convert <code>Date</code>-s that are time (no date part) values to string-s, also
the format that <code>someString?time</code> will use to parse strings.
<p>For the possible values see <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>setDateTimeFormat(String)</code></a>.
<p>Defaults to <code>""</code>, which is equivalent to <code>"medium"</code>.</div>
</li>
</ul>
<a name="getTimeFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeFormat</h4>
<pre>public&nbsp;java.lang.String&nbsp;getTimeFormat()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setTimeFormat-java.lang.String-"><code>setTimeFormat(String)</code></a>.</div>
</li>
</ul>
<a name="isTimeFormatSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTimeFormatSet</h4>
<pre>public&nbsp;boolean&nbsp;isTimeFormatSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setDateFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDateFormat</h4>
<pre>public&nbsp;void&nbsp;setDateFormat(java.lang.String&nbsp;dateFormat)</pre>
<div class="block">Sets the format used to convert <code>Date</code>-s that are date-only (no time part) values to string-s,
also the format that <code>someString?date</code> will use to parse strings.
<p>For the possible values see <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>setDateTimeFormat(String)</code></a>.
<p>Defaults to <code>""</code> which is equivalent to <code>"medium"</code>.</div>
</li>
</ul>
<a name="getDateFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDateFormat</h4>
<pre>public&nbsp;java.lang.String&nbsp;getDateFormat()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setDateFormat-java.lang.String-"><code>setDateFormat(String)</code></a>.</div>
</li>
</ul>
<a name="isDateFormatSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDateFormatSet</h4>
<pre>public&nbsp;boolean&nbsp;isDateFormatSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setDateTimeFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDateTimeFormat</h4>
<pre>public&nbsp;void&nbsp;setDateTimeFormat(java.lang.String&nbsp;dateTimeFormat)</pre>
<div class="block">Sets the format used to convert <code>Date</code>-s that are date-time (timestamp) values to string-s,
also the format that <code>someString?datetime</code> will use to parse strings.
<p>The possible setting values are (the quotation marks aren't part of the value itself):
<ul>
<li><p>Patterns accepted by Java's <code>SimpleDateFormat</code>, for example <code>"dd.MM.yyyy HH:mm:ss"</code> (where
<code>HH</code> means 24 hours format) or <code>"MM/dd/yyyy hh:mm:ss a"</code> (where <code>a</code> prints AM or PM, if
the current language is English).
<li><p><code>"xs"</code> for XML Schema format, or <code>"iso"</code> for ISO 8601:2004 format.
These formats allow various additional options, separated with space, like in
<code>"iso m nz"</code> (or with <code>_</code>, like in <code>"iso_m_nz"</code>; this is useful in a case like
<code>lastModified?string.iso_m_nz</code>). The options and their meanings are:
<ul>
<li><p>Accuracy options:<br>
<code>ms</code> = Milliseconds, always shown with all 3 digits, even if it's all 0-s.
Example: <code>13:45:05.800</code><br>
<code>s</code> = Seconds (fraction seconds are dropped even if non-0), like <code>13:45:05</code><br>
<code>m</code> = Minutes, like <code>13:45</code>. This isn't allowed for "xs".<br>
<code>h</code> = Hours, like <code>13</code>. This isn't allowed for "xs".<br>
Neither = Up to millisecond accuracy, but trailing millisecond 0-s are removed, also the whole
milliseconds part if it would be 0 otherwise. Example: <code>13:45:05.8</code>
<li><p>Time zone offset visibility options:<br>
<code>fz</code> = "Force Zone", always show time zone offset (even for for
<code>java.sql.Date</code> and <code>java.sql.Time</code> values).
But, because ISO 8601 doesn't allow for dates (means date without time of the day) to
show the zone offset, this option will have no effect in the case of <code>"iso"</code> with
dates.<br>
<code>nz</code> = "No Zone", never show time zone offset<br>
Neither = always show time zone offset, except for <code>java.sql.Date</code>
and <code>java.sql.Time</code>, and for <code>"iso"</code> date values.
<li><p>Time zone options:<br>
<code>u</code> = Use UTC instead of what the <code>time_zone</code> setting suggests. However,
<code>java.sql.Date</code> and <code>java.sql.Time</code> aren't affected
by this (see <a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a> to understand why)<br>
<code>fu</code> = "Force UTC", that is, use UTC instead of what the <code>time_zone</code> or the
<code>sql_date_and_time_time_zone</code> setting suggests. This also effects
<code>java.sql.Date</code> and <code>java.sql.Time</code> values<br>
Neither = Use the time zone suggested by the <code>time_zone</code> or the
<code>sql_date_and_time_time_zone</code> configuration setting (<a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-"><code>setTimeZone(TimeZone)</code></a> and
<a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a>).
</ul>
<p>The options can be specified in any order.</p>
<p>Options from the same category are mutually exclusive, like using <code>m</code> and <code>s</code>
together is an error.
<p>The accuracy and time zone offset visibility options don't influence parsing, only formatting.
For example, even if you use "iso m nz", "2012-01-01T15:30:05.125+01" will be parsed successfully and with
milliseconds accuracy.
The time zone options (like "u") influence what time zone is chosen only when parsing a string that doesn't
contain time zone offset.
<p>Parsing with <code>"iso"</code> understands both extend format and basic format, like
<code>20141225T235018</code>. It doesn't, however, support the parsing of all kind of ISO 8601 strings: if
there's a date part, it must use year, month and day of the month values (not week of the year), and the
day can't be omitted.
<p>The output of <code>"iso"</code> is deliberately so that it's also a good representation of the value with
XML Schema format, except for 0 and negative years, where it's impossible. Also note that the time zone
offset is omitted for date values in the <code>"iso"</code> format, while it's preserved for the <code>"xs"</code>
format.
<li><p><code>"short"</code>, <code>"medium"</code>, <code>"long"</code>, or <code>"full"</code>, which that has locale-dependent
meaning defined by the Java platform (see in the documentation of <code>DateFormat</code>).
For date-time values, you can specify the length of the date and time part independently, be separating
them with <code>_</code>, like <code>"short_medium"</code>. (<code>"medium"</code> means
<code>"medium_medium"</code> for date-time values.)
<li><p>Anything that starts with <code>"@"</code> followed by a letter is interpreted as a custom
date/time/dateTime format, but only if either <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>Configuration.getIncompatibleImprovements()</code></a>
is at least 2.3.24, or there's any custom formats defined (even if custom number format). The format of
such string is <code>"@<i>name</i>"</code> or <code>"@<i>name</i> <i>parameters</i>"</code>, where
<code><i>name</i></code> is the key in the <code>Map</code> set by <a href="../../freemarker/core/Configurable.html#setCustomDateFormats-java.util.Map-"><code>setCustomDateFormats(Map)</code></a>, and
<code><i>parameters</i></code> is parsed by the custom number format.
</ul>
<p>Defaults to <code>""</code>, which is equivalent to <code>"medium_medium"</code>.</div>
</li>
</ul>
<a name="getDateTimeFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDateTimeFormat</h4>
<pre>public&nbsp;java.lang.String&nbsp;getDateTimeFormat()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>setDateTimeFormat(String)</code></a>.</div>
</li>
</ul>
<a name="isDateTimeFormatSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDateTimeFormatSet</h4>
<pre>public&nbsp;boolean&nbsp;isDateTimeFormatSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="getCustomDateFormats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomDateFormats</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&gt;&nbsp;getCustomDateFormats()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setCustomDateFormats-java.util.Map-"><code>setCustomDateFormats(Map)</code></a>; do not modify the returned <code>Map</code>! To be consistent with
other setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply returns
that value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>. So beware, the returned value
doesn't reflect the <code>Map</code> key granularity fallback logic that FreeMarker actually uses for this setting
(for that, use <a href="../../freemarker/core/Configurable.html#getCustomDateFormat-java.lang.String-"><code>getCustomDateFormat(String)</code></a>). The returned value isn't a snapshot; it may or may not
shows the changes later made to this setting on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (but usually it's well defined if
until what point settings are possibly modified).
<p>
The return value is never <code>null</code>; called on the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> (top) level, it defaults to an empty
<code>Map</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#getCustomDateFormatsWithoutFallback--"><code>getCustomDateFormatsWithoutFallback()</code></a></dd>
</dl>
</li>
</ul>
<a name="getCustomDateFormatsWithoutFallback--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomDateFormatsWithoutFallback</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&gt;&nbsp;getCustomDateFormatsWithoutFallback()</pre>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getCustomDateFormats--"><code>getCustomDateFormats()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>, nor does it
provide a non-<code>null</code> default when called as the method of a <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="setCustomDateFormats-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomDateFormats</h4>
<pre>public&nbsp;void&nbsp;setCustomDateFormats(java.util.Map&lt;java.lang.String,? extends <a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&gt;&nbsp;customDateFormats)</pre>
<div class="block">Associates names with formatter factories, which then can be referred by the <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>date_format</code></a>, <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>time_format</code></a>, and <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>datetime_format</code></a> settings with values starting with <code>@<i>name</i></code>. Beware, if you specify any custom
formats here, an initial <code>@</code> followed by a letter will have special meaning in number/date/time/datetime
format strings, even if <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>incompatible_improvements</code></a> is less
than 2.3.24 (starting with <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>incompatible_improvements</code></a> 2.3.24
<code>@</code> always has special meaning).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>customDateFormats</code> - Can't be <code>null</code>. The name must start with an UNICODE letter, and can only contain UNICODE
letters and digits.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="isCustomDateFormatsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCustomDateFormatsSet</h4>
<pre>public&nbsp;boolean&nbsp;isCustomDateFormatsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="getCustomDateFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomDateFormat</h4>
<pre>public&nbsp;<a href="../../freemarker/core/TemplateDateFormatFactory.html" title="class in freemarker.core">TemplateDateFormatFactory</a>&nbsp;getCustomDateFormat(java.lang.String&nbsp;name)</pre>
<div class="block">Gets the custom name format registered for the name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setTemplateExceptionHandler-freemarker.template.TemplateExceptionHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTemplateExceptionHandler</h4>
<pre>public&nbsp;void&nbsp;setTemplateExceptionHandler(<a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template">TemplateExceptionHandler</a>&nbsp;templateExceptionHandler)</pre>
<div class="block">Sets the exception handler used to handle exceptions occurring inside templates.
The default is <a href="../../freemarker/template/TemplateExceptionHandler.html#DEBUG_HANDLER"><code>TemplateExceptionHandler.DEBUG_HANDLER</code></a>. The recommended values are:
<ul>
<li>In production systems: <a href="../../freemarker/template/TemplateExceptionHandler.html#RETHROW_HANDLER"><code>TemplateExceptionHandler.RETHROW_HANDLER</code></a>
<li>During development of HTML templates: <a href="../../freemarker/template/TemplateExceptionHandler.html#HTML_DEBUG_HANDLER"><code>TemplateExceptionHandler.HTML_DEBUG_HANDLER</code></a>
<li>During development of non-HTML templates: <a href="../../freemarker/template/TemplateExceptionHandler.html#DEBUG_HANDLER"><code>TemplateExceptionHandler.DEBUG_HANDLER</code></a>
</ul>
<p>All of these will let the exception propagate further, so that you can catch it around
<a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, Writer)</code></a> for example. The difference is in what they print on the output before
they do that.
<p>Note that the <a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template"><code>TemplateExceptionHandler</code></a> is not meant to be used for generating HTTP error pages.
Neither is it meant to be used to roll back the printed output. These should be solved outside template
processing when the exception raises from <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process</code></a>.
<a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template"><code>TemplateExceptionHandler</code></a> meant to be used if you want to include special content <em>in</em> the template
output, or if you want to suppress certain exceptions. If you suppress an exception, and the
<a href="../../freemarker/core/Configurable.html#getLogTemplateExceptions--"><code>getLogTemplateExceptions()</code></a> returns <code>false</code>, then it's the responsibility of the
<a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template"><code>TemplateExceptionHandler</code></a> to log the exception (if you want it to be logged).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#setLogTemplateExceptions-boolean-"><code>setLogTemplateExceptions(boolean)</code></a>,
<a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-"><code>setAttemptExceptionReporter(AttemptExceptionReporter)</code></a></dd>
</dl>
</li>
</ul>
<a name="getTemplateExceptionHandler--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTemplateExceptionHandler</h4>
<pre>public&nbsp;<a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template">TemplateExceptionHandler</a>&nbsp;getTemplateExceptionHandler()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setTemplateExceptionHandler-freemarker.template.TemplateExceptionHandler-"><code>setTemplateExceptionHandler(TemplateExceptionHandler)</code></a>.</div>
</li>
</ul>
<a name="isTemplateExceptionHandlerSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTemplateExceptionHandlerSet</h4>
<pre>public&nbsp;boolean&nbsp;isTemplateExceptionHandlerSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttemptExceptionReporter</h4>
<pre>public&nbsp;void&nbsp;setAttemptExceptionReporter(<a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template">AttemptExceptionReporter</a>&nbsp;attemptExceptionReporter)</pre>
<div class="block">Specifies how exceptions handled (and hence suppressed) by an <code>#attempt</code> blocks will be logged or otherwise
reported. The default value is <a href="../../freemarker/template/AttemptExceptionReporter.html#LOG_ERROR_REPORTER"><code>AttemptExceptionReporter.LOG_ERROR_REPORTER</code></a>.
<p>Note that <code>#attempt</code> is not supposed to be a general purpose error handler mechanism, like <code>try</code>
is in Java. It's for decreasing the impact of unexpected errors, by making it possible that only part of the
page is going down, instead of the whole page. But it's still an error, something that someone should fix. So the
error should be reported, not just ignored in a custom <a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template"><code>AttemptExceptionReporter</code></a>-s.
<p>The <a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template"><code>AttemptExceptionReporter</code></a> is invoked regardless of the value of the
<a href="../../freemarker/core/Configurable.html#setLogTemplateExceptions-boolean-"><code>log_template_exceptions</code></a> setting.
The <a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template"><code>AttemptExceptionReporter</code></a> is not invoked if the <a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template"><code>TemplateExceptionHandler</code></a> has suppressed the
exception.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.27</dd>
</dl>
</li>
</ul>
<a name="getAttemptExceptionReporter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttemptExceptionReporter</h4>
<pre>public&nbsp;<a href="../../freemarker/template/AttemptExceptionReporter.html" title="interface in freemarker.template">AttemptExceptionReporter</a>&nbsp;getAttemptExceptionReporter()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-"><code>setAttemptExceptionReporter(AttemptExceptionReporter)</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.27</dd>
</dl>
</li>
</ul>
<a name="isAttemptExceptionReporterSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAttemptExceptionReporterSet</h4>
<pre>public&nbsp;boolean&nbsp;isAttemptExceptionReporterSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.27</dd>
</dl>
</li>
</ul>
<a name="setArithmeticEngine-freemarker.core.ArithmeticEngine-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setArithmeticEngine</h4>
<pre>public&nbsp;void&nbsp;setArithmeticEngine(<a href="../../freemarker/core/ArithmeticEngine.html" title="class in freemarker.core">ArithmeticEngine</a>&nbsp;arithmeticEngine)</pre>
<div class="block">Sets the arithmetic engine used to perform arithmetic operations.
The default is <a href="../../freemarker/core/ArithmeticEngine.html#BIGDECIMAL_ENGINE"><code>ArithmeticEngine.BIGDECIMAL_ENGINE</code></a>.</div>
</li>
</ul>
<a name="getArithmeticEngine--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getArithmeticEngine</h4>
<pre>public&nbsp;<a href="../../freemarker/core/ArithmeticEngine.html" title="class in freemarker.core">ArithmeticEngine</a>&nbsp;getArithmeticEngine()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setArithmeticEngine-freemarker.core.ArithmeticEngine-"><code>setArithmeticEngine(ArithmeticEngine)</code></a>.</div>
</li>
</ul>
<a name="isArithmeticEngineSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isArithmeticEngineSet</h4>
<pre>public&nbsp;boolean&nbsp;isArithmeticEngineSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setObjectWrapper-freemarker.template.ObjectWrapper-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setObjectWrapper</h4>
<pre>public&nbsp;void&nbsp;setObjectWrapper(<a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;objectWrapper)</pre>
<div class="block">Sets the object wrapper used to wrap objects to <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s.
The default is <a href="../../freemarker/template/ObjectWrapper.html#DEFAULT_WRAPPER"><code>ObjectWrapper.DEFAULT_WRAPPER</code></a>.</div>
</li>
</ul>
<a name="getObjectWrapper--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectWrapper</h4>
<pre>public&nbsp;<a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;getObjectWrapper()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setObjectWrapper-freemarker.template.ObjectWrapper-"><code>setObjectWrapper(ObjectWrapper)</code></a>.</div>
</li>
</ul>
<a name="isObjectWrapperSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isObjectWrapperSet</h4>
<pre>public&nbsp;boolean&nbsp;isObjectWrapperSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setOutputEncoding-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputEncoding</h4>
<pre>public&nbsp;void&nbsp;setOutputEncoding(java.lang.String&nbsp;outputEncoding)</pre>
<div class="block">Informs FreeMarker about the charset used for the output. As FreeMarker outputs character stream (not
byte stream), it's not aware of the output charset unless the software that encloses it tells it
with this setting. Some templates may use FreeMarker features that require this information.
Setting this to <code>null</code> means that the output encoding is not known.
<p>Defaults to <code>null</code> (unknown).</div>
</li>
</ul>
<a name="getOutputEncoding--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputEncoding</h4>
<pre>public&nbsp;java.lang.String&nbsp;getOutputEncoding()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setOutputEncoding-java.lang.String-"><code>setOutputEncoding(String)</code></a>.</div>
</li>
</ul>
<a name="isOutputEncodingSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOutputEncodingSet</h4>
<pre>public&nbsp;boolean&nbsp;isOutputEncodingSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setURLEscapingCharset-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setURLEscapingCharset</h4>
<pre>public&nbsp;void&nbsp;setURLEscapingCharset(java.lang.String&nbsp;urlEscapingCharset)</pre>
<div class="block">Sets the URL escaping (URL encoding, percentage encoding) charset. If <code>null</code>, the output encoding
(<a href="../../freemarker/core/Configurable.html#setOutputEncoding-java.lang.String-"><code>setOutputEncoding(String)</code></a>) will be used for URL escaping.
Defaults to <code>null</code>.</div>
</li>
</ul>
<a name="getURLEscapingCharset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getURLEscapingCharset</h4>
<pre>public&nbsp;java.lang.String&nbsp;getURLEscapingCharset()</pre>
</li>
</ul>
<a name="isURLEscapingCharsetSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isURLEscapingCharsetSet</h4>
<pre>public&nbsp;boolean&nbsp;isURLEscapingCharsetSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setNewBuiltinClassResolver-freemarker.core.TemplateClassResolver-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNewBuiltinClassResolver</h4>
<pre>public&nbsp;void&nbsp;setNewBuiltinClassResolver(<a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core">TemplateClassResolver</a>&nbsp;newBuiltinClassResolver)</pre>
<div class="block">Sets the <a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core"><code>TemplateClassResolver</code></a> that is used when the
<code>new</code> built-in is called in a template. That is, when
a template contains the <code>"com.example.SomeClassName"?new</code>
expression, this object will be called to resolve the
<code>"com.example.SomeClassName"</code> string to a class. The default
value is <a href="../../freemarker/core/TemplateClassResolver.html#UNRESTRICTED_RESOLVER"><code>TemplateClassResolver.UNRESTRICTED_RESOLVER</code></a> in
FreeMarker 2.3.x, and <a href="../../freemarker/core/TemplateClassResolver.html#SAFER_RESOLVER"><code>TemplateClassResolver.SAFER_RESOLVER</code></a>
starting from FreeMarker 2.4.0. If you allow users to upload templates,
it's important to use a custom restrictive <a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core"><code>TemplateClassResolver</code></a>.
<p>Note that the <a href="../../freemarker/ext/beans/MemberAccessPolicy.html" title="interface in freemarker.ext.beans"><code>MemberAccessPolicy</code></a> used by the <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> also influences what constructors
are available. Allowing the resolution of the class here is not enough in itself, as the
<a href="../../freemarker/ext/beans/MemberAccessPolicy.html" title="interface in freemarker.ext.beans"><code>MemberAccessPolicy</code></a> has to allow exposing the particular constructor you try to call as well.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.17</dd>
</dl>
</li>
</ul>
<a name="getNewBuiltinClassResolver--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNewBuiltinClassResolver</h4>
<pre>public&nbsp;<a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core">TemplateClassResolver</a>&nbsp;getNewBuiltinClassResolver()</pre>
<div class="block">Retrieves the <a href="../../freemarker/core/TemplateClassResolver.html" title="interface in freemarker.core"><code>TemplateClassResolver</code></a> used
to resolve classes when "SomeClassName"?new is called in a template.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.17</dd>
</dl>
</li>
</ul>
<a name="isNewBuiltinClassResolverSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNewBuiltinClassResolverSet</h4>
<pre>public&nbsp;boolean&nbsp;isNewBuiltinClassResolverSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setAutoFlush-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAutoFlush</h4>
<pre>public&nbsp;void&nbsp;setAutoFlush(boolean&nbsp;autoFlush)</pre>
<div class="block">Sets whether the output <code>Writer</code> is automatically flushed at
the end of <a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, Writer)</code></a> (and its
overloads). The default is <code>true</code>.
<p>Using <code>false</code> is needed for example when a Web page is composed
from several boxes (like portlets, GUI panels, etc.) that aren't inserted
with <tt>#include</tt> (or with similar directives) into a master
FreeMarker template, rather they are all processed with a separate
<a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, Writer)</code></a> call. In a such scenario the
automatic flushes would commit the HTTP response after each box, hence
interfering with full-page buffering, and also possibly decreasing
performance with too frequent and too early response buffer flushes.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.17</dd>
</dl>
</li>
</ul>
<a name="getAutoFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoFlush</h4>
<pre>public&nbsp;boolean&nbsp;getAutoFlush()</pre>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setAutoFlush-boolean-"><code>setAutoFlush(boolean)</code></a></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.17</dd>
</dl>
</li>
</ul>
<a name="isAutoFlushSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAutoFlushSet</h4>
<pre>public&nbsp;boolean&nbsp;isAutoFlushSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setShowErrorTips-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShowErrorTips</h4>
<pre>public&nbsp;void&nbsp;setShowErrorTips(boolean&nbsp;showTips)</pre>
<div class="block">Sets if tips should be shown in error messages of errors arising during template processing.
The default is <code>true</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.21</dd>
</dl>
</li>
</ul>
<a name="getShowErrorTips--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShowErrorTips</h4>
<pre>public&nbsp;boolean&nbsp;getShowErrorTips()</pre>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setShowErrorTips-boolean-"><code>setShowErrorTips(boolean)</code></a></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.21</dd>
</dl>
</li>
</ul>
<a name="isShowErrorTipsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isShowErrorTipsSet</h4>
<pre>public&nbsp;boolean&nbsp;isShowErrorTipsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setAPIBuiltinEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAPIBuiltinEnabled</h4>
<pre>public&nbsp;void&nbsp;setAPIBuiltinEnabled(boolean&nbsp;value)</pre>
<div class="block">Specifies if <code>?api</code> can be used in templates. Defaults to <code>false</code> so that updating FreeMarker won't
decrease the security of existing applications.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="isAPIBuiltinEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAPIBuiltinEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isAPIBuiltinEnabled()</pre>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setAPIBuiltinEnabled-boolean-"><code>setAPIBuiltinEnabled(boolean)</code></a></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="isAPIBuiltinEnabledSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAPIBuiltinEnabledSet</h4>
<pre>public&nbsp;boolean&nbsp;isAPIBuiltinEnabledSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setTruncateBuiltinAlgorithm-freemarker.core.TruncateBuiltinAlgorithm-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTruncateBuiltinAlgorithm</h4>
<pre>public&nbsp;void&nbsp;setTruncateBuiltinAlgorithm(<a href="../../freemarker/core/TruncateBuiltinAlgorithm.html" title="class in freemarker.core">TruncateBuiltinAlgorithm</a>&nbsp;truncateBuiltinAlgorithm)</pre>
<div class="block">Specifies the algorithm used for <code>?truncate</code>. Defaults to
<a href="../../freemarker/core/DefaultTruncateBuiltinAlgorithm.html#ASCII_INSTANCE"><code>DefaultTruncateBuiltinAlgorithm.ASCII_INSTANCE</code></a>. Most customization needs can be addressed by
creating a new <a href="../../freemarker/core/DefaultTruncateBuiltinAlgorithm.html" title="class in freemarker.core"><code>DefaultTruncateBuiltinAlgorithm</code></a> with the proper constructor parameters. Otherwise users
my use their own <a href="../../freemarker/core/TruncateBuiltinAlgorithm.html" title="class in freemarker.core"><code>TruncateBuiltinAlgorithm</code></a> implementation.
<p>In case you need to set this with <code>Properties</code>, or a similar configuration approach that doesn't let you
create the value in Java, see examples at <a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"><code>setSetting(String, String)</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.29</dd>
</dl>
</li>
</ul>
<a name="getTruncateBuiltinAlgorithm--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTruncateBuiltinAlgorithm</h4>
<pre>public&nbsp;<a href="../../freemarker/core/TruncateBuiltinAlgorithm.html" title="class in freemarker.core">TruncateBuiltinAlgorithm</a>&nbsp;getTruncateBuiltinAlgorithm()</pre>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setTruncateBuiltinAlgorithm-freemarker.core.TruncateBuiltinAlgorithm-"><code>setTruncateBuiltinAlgorithm(TruncateBuiltinAlgorithm)</code></a></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.29</dd>
</dl>
</li>
</ul>
<a name="isTruncateBuiltinAlgorithmSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTruncateBuiltinAlgorithmSet</h4>
<pre>public&nbsp;boolean&nbsp;isTruncateBuiltinAlgorithmSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.29</dd>
</dl>
</li>
</ul>
<a name="setLogTemplateExceptions-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLogTemplateExceptions</h4>
<pre>public&nbsp;void&nbsp;setLogTemplateExceptions(boolean&nbsp;value)</pre>
<div class="block">Specifies if <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>-s thrown by template processing are logged by FreeMarker or not. The
default is <code>true</code> for backward compatibility, but that results in logging the exception twice in properly
written applications, because there the <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a> thrown by the public FreeMarker API is also
logged by the caller (even if only as the cause exception of a higher level exception). Hence, in modern
applications it should be set to <code>false</code>. Note that this setting has no effect on the logging of exceptions
caught by <code>#attempt</code>; by default those are always logged as errors (because those exceptions won't bubble
up to the API caller), however, that can be changed with the <a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-"><code>attempt_exception_reporter</code></a> setting.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="getLogTemplateExceptions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogTemplateExceptions</h4>
<pre>public&nbsp;boolean&nbsp;getLogTemplateExceptions()</pre>
<div class="block">See <a href="../../freemarker/core/Configurable.html#setLogTemplateExceptions-boolean-"><code>setLogTemplateExceptions(boolean)</code></a></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="isLogTemplateExceptionsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLogTemplateExceptionsSet</h4>
<pre>public&nbsp;boolean&nbsp;isLogTemplateExceptionsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="setWrapUncheckedExceptions-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWrapUncheckedExceptions</h4>
<pre>public&nbsp;void&nbsp;setWrapUncheckedExceptions(boolean&nbsp;wrapUncheckedExceptions)</pre>
<div class="block">Specifies if unchecked exceptions thrown during expression evaluation or during executing custom directives (and
transform) will be wrapped into <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>-s, or will bubble up to the caller of
<a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-"><code>Template.process(Object, Writer, ObjectWrapper)</code></a> as is. The default is <code>false</code> for backward
compatibility (as some applications catch certain unchecked exceptions thrown by the template processing to do
something special), but the recommended value is <code>true</code>.
When this is <code>true</code>, the unchecked exceptions will be wrapped into a <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>-s, thus the
exception will include the location in the template (not
just the Java stack trace). Another consequence of the wrapping is that the <a href="../../freemarker/template/TemplateExceptionHandler.html" title="interface in freemarker.template"><code>TemplateExceptionHandler</code></a> will
be invoked for the exception (as that only handles <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>-s, it wasn't invoked for unchecked
exceptions). When this setting is <code>false</code>, unchecked exception will be thrown by
<a href="../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-freemarker.template.ObjectWrapper-"><code>Template.process(Object, Writer, ObjectWrapper)</code></a>.
Note that plain Java methods called from templates aren't user defined <a href="../../freemarker/template/TemplateMethodModel.html" title="interface in freemarker.template"><code>TemplateMethodModel</code></a>-s, and have
always wrapped the thrown exception into <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template"><code>TemplateException</code></a>, regardless of this setting.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.27</dd>
</dl>
</li>
</ul>
<a name="getWrapUncheckedExceptions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrapUncheckedExceptions</h4>
<pre>public&nbsp;boolean&nbsp;getWrapUncheckedExceptions()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setWrapUncheckedExceptions-boolean-"><code>setWrapUncheckedExceptions(boolean)</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.27</dd>
</dl>
</li>
</ul>
<a name="isWrapUncheckedExceptionsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWrapUncheckedExceptionsSet</h4>
<pre>public&nbsp;boolean&nbsp;isWrapUncheckedExceptionsSet()</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.27</dd>
</dl>
</li>
</ul>
<a name="getLazyImports--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLazyImports</h4>
<pre>public&nbsp;boolean&nbsp;getLazyImports()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-"><code>setLazyImports(boolean)</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="setLazyImports-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLazyImports</h4>
<pre>public&nbsp;void&nbsp;setLazyImports(boolean&nbsp;lazyImports)</pre>
<div class="block">Specifies if <code>&lt;#import ...&gt;</code> (and <a href="../../freemarker/core/Environment.html#importLib-java.lang.String-java.lang.String-"><code>Environment.importLib(String, String)</code></a>) should delay the loading
and processing of the imported templates until the content of the imported namespace is actually accessed. This
makes the overhead of <em>unused</em> imports negligible. Note that turning on lazy importing isn't entirely
transparent, as accessing global variables (usually created with <code>&lt;#global ...=...&gt;</code>) that should be
created by the imported template won't trigger the loading and processing of the lazily imported template
(because globals aren't accessed through the namespace variable), so the global variable will just be missing.
In general, you lose the strict control over when the namespace initializing code in the imported template will
be executed, though it shouldn't mater for most well designed imported templates.
Another drawback is that importing a missing or otherwise broken template will be successful, and the problem
will remain hidden until (and if) the namespace content is actually used. Note that the namespace initializing
code will run with the same <a href="../../freemarker/core/Configurable.html#getLocale--">locale</a> as it was at the point of the
<code>&lt;#import ...&gt;</code> call (other settings won't be handled specially like that).
<p>
The default is <code>false</code> (and thus imports are eager) for backward compatibility, which can cause
perceivable overhead if you have many imports and only a few of them is actually used.
<p>
This setting also affects <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-">auto-imports</a>, unless you have set a non-<code>null</code>
value with <a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-"><code>setLazyAutoImports(Boolean)</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-"><code>setLazyAutoImports(Boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="isLazyImportsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLazyImportsSet</h4>
<pre>public&nbsp;boolean&nbsp;isLazyImportsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="getLazyAutoImports--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLazyAutoImports</h4>
<pre>public&nbsp;java.lang.Boolean&nbsp;getLazyAutoImports()</pre>
<div class="block">The getter pair of <a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-"><code>setLazyAutoImports(Boolean)</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="setLazyAutoImports-java.lang.Boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLazyAutoImports</h4>
<pre>public&nbsp;void&nbsp;setLazyAutoImports(java.lang.Boolean&nbsp;lazyAutoImports)</pre>
<div class="block">Specifies if <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-">auto-imports</a> will be
<a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-"><code>lazy imports</code></a>. This is useful to make the overhead of <em>unused</em>
auto-imports negligible. If this is set to <code>null</code>, <a href="../../freemarker/core/Configurable.html#getLazyImports--"><code>getLazyImports()</code></a> specifies the behavior of
auto-imports too. The default value is <code>null</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="isLazyAutoImportsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLazyAutoImportsSet</h4>
<pre>public&nbsp;boolean&nbsp;isLazyAutoImportsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="addAutoImport-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAutoImport</h4>
<pre>public&nbsp;void&nbsp;addAutoImport(java.lang.String&nbsp;namespaceVarName,
java.lang.String&nbsp;templateName)</pre>
<div class="block">Adds an invisible <code>#import <i>templateName</i> as <i>namespaceVarName</i></code> at the beginning of the
main template (that's the top-level template that wasn't included/imported from another template). While it only
affects the main template directly, as the imports will create a global variable there, the imports will be
visible from the further imported templates too (note that <a href="../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>Configuration.getIncompatibleImprovements()</code></a>
set to 2.3.24 fixes a rarely surfacing bug with that).
<p>
It's recommended to set the <code>lazy_auto_imports</code> setting (<a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-"><code>setLazyAutoImports(Boolean)</code></a>)
to <code>true</code> when using this, so that auto-imports that are unused in a template won't degrade performance by
unnecessary loading and initializing the imported library.
<p>
If the imports aren't lazy, the order of the imports will be the same as the order in which they were added with
this method. (Calling this method with an already added <code>namespaceVarName</code> will move that to the end
of the auto-import order.)
<p>
The auto-import is added directly to the <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> on which this method is called (not to the parents
or children), but when the main template is processed, the auto-imports are collected from all the
<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> levels, in parent-to-child order: <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>, <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> (the main
template), <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a>. If the same <code>namespaceVarName</code> occurs on multiple levels, the one on the
child level is used, and the clashing import from the parent level is skipped.
<p>If there are also auto-includes (see <a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-"><code>addAutoInclude(String)</code></a>), those will be executed after
the auto-imports.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-"><code>setAutoImports(Map)</code></a></dd>
</dl>
</li>
</ul>
<a name="removeAutoImport-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAutoImport</h4>
<pre>public&nbsp;void&nbsp;removeAutoImport(java.lang.String&nbsp;namespaceVarName)</pre>
<div class="block">Removes an auto-import from this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (not from the parents or children);
see <a href="../../freemarker/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-"><code>addAutoImport(String, String)</code></a>. Does nothing if the auto-import doesn't exist.</div>
</li>
</ul>
<a name="setAutoImports-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAutoImports</h4>
<pre>public&nbsp;void&nbsp;setAutoImports(java.util.Map&nbsp;map)</pre>
<div class="block">Removes all auto-imports, then calls <a href="../../freemarker/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-"><code>addAutoImport(String, String)</code></a> for each <code>Map</code>-entry (the entry
key is the <code>namespaceVarName</code>). The order of the auto-imports will be the same as <code>Map.keySet()</code>
returns the keys (but the order of imports doesn't mater for properly designed libraries anyway).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - Maps the namespace variable names to the template names; not <code>null</code></dd>
</dl>
</li>
</ul>
<a name="getAutoImports--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoImports</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;getAutoImports()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-"><code>setAutoImports(Map)</code></a>; do not modify the returned <code>Map</code>! To be consistent with other
setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply returns that
value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>. So beware, the returned value doesn't
reflect the <code>Map</code> key granularity fallback logic that FreeMarker actually uses for this setting. The
returned value is not the same <code>Map</code> object that was set with <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-"><code>setAutoImports(Map)</code></a>, only its
content is the same. The returned value isn't a snapshot; it may or may not shows the changes later made to this
setting on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (but usually it's well defined if until what point settings are
possibly modified).
<p>
The return value is never <code>null</code>; called on the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> (top) level, it defaults to an empty
<code>Map</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#getAutoImportsWithoutFallback--"><code>getAutoImportsWithoutFallback()</code></a></dd>
</dl>
</li>
</ul>
<a name="isAutoImportsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAutoImportsSet</h4>
<pre>public&nbsp;boolean&nbsp;isAutoImportsSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="getAutoImportsWithoutFallback--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoImportsWithoutFallback</h4>
<pre>public&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;getAutoImportsWithoutFallback()</pre>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getAutoImports--"><code>getAutoImports()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> (and so it can be
<code>null</code>).</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="addAutoInclude-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAutoInclude</h4>
<pre>public&nbsp;void&nbsp;addAutoInclude(java.lang.String&nbsp;templateName)</pre>
<div class="block">Adds an invisible <code>#include <i>templateName</i></code> at the beginning of the main template (that's the
top-level template that wasn't included/imported from another template).
<p>
The order of the inclusions will be the same as the order in which they were added with this method.
<p>
The auto-include is added directly to the <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> on which this method is called (not to the parents
or children), but when the main template is processed, the auto-includes are collected from all the
<a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> levels, in parent-to-child order: <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>, <a href="../../freemarker/template/Template.html" title="class in freemarker.template"><code>Template</code></a> (the main
template), <a href="../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a>.
<p>
If there are also auto-imports (<a href="../../freemarker/core/Configurable.html#addAutoImport-java.lang.String-java.lang.String-"><code>addAutoImport(String, String)</code></a>), those imports will be executed before
the auto-includes, hence the namespace variables are accessible for the auto-included templates.
<p>
Calling <a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-"><code>addAutoInclude(String)</code></a> with an already added template name will just move that to the end of the
auto-include list (within the same <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level). This works even if the same template name appears
on different <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> levels, in which case only the inclusion on the lowest (child) level will be
executed.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-"><code>setAutoIncludes(List)</code></a></dd>
</dl>
</li>
</ul>
<a name="setAutoIncludes-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAutoIncludes</h4>
<pre>public&nbsp;void&nbsp;setAutoIncludes(java.util.List&nbsp;templateNames)</pre>
<div class="block">Removes all auto-includes, then calls <a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-"><code>addAutoInclude(String)</code></a> for each <code>List</code> items.
<p>Before <a href="../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-">incompatible improvements</a> 2.3.25 it doesn't filter
out duplicates from the list if this method was called on a <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> instance.</div>
</li>
</ul>
<a name="getAutoIncludes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoIncludes</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getAutoIncludes()</pre>
<div class="block">Getter pair of <a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-"><code>setAutoIncludes(List)</code></a>; do not modify the returned <code>List</code>! To be consistent with
other setting getters, if this setting was set directly on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> object, this simply returns
that value, otherwise it returns the value from the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>. So beware, the returned value
doesn't reflect the <code>List</code> concatenation logic that FreeMarker actually uses for this setting. The returned
value is not the same <code>List</code> object that was set with <a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-"><code>setAutoIncludes(List)</code></a>, only its content is
the same (except that duplicate are removed). The returned value isn't a snapshot; it may or may not shows the
changes later made to this setting on this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (but usually it's well defined if until
what point settings are possibly modified).
<p>
The return value is never <code>null</code>; called on the <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> (top) level, it defaults to an empty
<code>List</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/core/Configurable.html#getAutoIncludesWithoutFallback--"><code>getAutoIncludesWithoutFallback()</code></a></dd>
</dl>
</li>
</ul>
<a name="isAutoIncludesSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAutoIncludesSet</h4>
<pre>public&nbsp;boolean&nbsp;isAutoIncludesSet()</pre>
<div class="block">Tells if this setting is set directly in this object or its value is coming from the <a href="../../freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="getAutoIncludesWithoutFallback--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAutoIncludesWithoutFallback</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getAutoIncludesWithoutFallback()</pre>
<div class="block">Like <a href="../../freemarker/core/Configurable.html#getAutoIncludes--"><code>getAutoIncludes()</code></a>, but doesn't fall back to the parent <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> (and so it can be
<code>null</code>).</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.25</dd>
</dl>
</li>
</ul>
<a name="removeAutoInclude-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAutoInclude</h4>
<pre>public&nbsp;void&nbsp;removeAutoInclude(java.lang.String&nbsp;templateName)</pre>
<div class="block">Removes the auto-include from this <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> level (not from the parents or children); see
<a href="../../freemarker/core/Configurable.html#addAutoInclude-java.lang.String-"><code>addAutoInclude(String)</code></a>. Does nothing if the template is not there.</div>
</li>
</ul>
<a name="setSetting-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSetting</h4>
<pre>public&nbsp;void&nbsp;setSetting(java.lang.String&nbsp;name,
java.lang.String&nbsp;value)
throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></pre>
<div class="block">Sets a FreeMarker setting by a name and string value. If you can configure FreeMarker directly with Java (or
other programming language), you should use the dedicated setter methods instead (like
<a href="../../freemarker/core/Configurable.html#setObjectWrapper-freemarker.template.ObjectWrapper-"><code>setObjectWrapper(ObjectWrapper)</code></a>. This meant to be used only when you get settings from somewhere
as <code>String</code>-<code>String</code> name-value pairs (typically, as a <code>Properties</code> object). Below you find an
overview of the settings available.
<p>Note: As of FreeMarker 2.3.23, setting names can be written in camel case too. For example, instead of
<code>date_format</code> you can also use <code>dateFormat</code>. It's likely that camel case will become to the
recommended convention in the future.
<p>The list of settings commonly supported in all <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a> subclasses:
<ul>
<li><p><code>"locale"</code>:
See <a href="../../freemarker/core/Configurable.html#setLocale-java.util.Locale-"><code>setLocale(Locale)</code></a>.
<br>String value: local codes with the usual format in Java, such as <code>"en_US"</code>, or since 2.3.26,
"JVM default" (ignoring case) to use the default locale of the Java environment.
<li><p><code>"classic_compatible"</code>:
See <a href="../../freemarker/core/Configurable.html#setClassicCompatible-boolean-"><code>setClassicCompatible(boolean)</code></a> and <a href="../../freemarker/core/Configurable.html#setClassicCompatibleAsInt-int-"><code>setClassicCompatibleAsInt(int)</code></a>.
<br>String value: <code>"true"</code>, <code>"false"</code>, also since 2.3.20 <code>0</code> or <code>1</code> or <code>2</code>.
(Also accepts <code>"yes"</code>, <code>"no"</code>, <code>"t"</code>, <code>"f"</code>, <code>"y"</code>, <code>"n"</code>.)
Case insensitive.
<li><p><code>"custom_number_formats"</code>: See <a href="../../freemarker/core/Configurable.html#setCustomNumberFormats-java.util.Map-"><code>setCustomNumberFormats(Map)</code></a>.
<br>String value: Interpreted as an <a href="#fm_obe">object builder expression</a>.
<br>Example: <code>{ "hex": com.example.HexTemplateNumberFormatFactory,
"gps": com.example.GPSTemplateNumberFormatFactory }</code>
<li><p><code>"custom_date_formats"</code>: See <a href="../../freemarker/core/Configurable.html#setCustomDateFormats-java.util.Map-"><code>setCustomDateFormats(Map)</code></a>.
<br>String value: Interpreted as an <a href="#fm_obe">object builder expression</a>.
<br>Example: <code>{ "trade": com.example.TradeTemplateDateFormatFactory,
"log": com.example.LogTemplateDateFormatFactory }</code>
<li><p><code>"c_format"</code>:
See <a href="../../freemarker/template/Configuration.html#setCFormat-freemarker.core.CFormat-"><code>Configuration.setCFormat(CFormat)</code></a>.
<br>String value: <code>"default"</code> (case insensitive) for the default (on <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> only), or
one of the predefined values <code>"JavaScript or JSON"</code>, <code>"JSON"</code>,
<code>"JavaScript"</code>, <code>"Java"</code>, <code>"XS"</code>, <code>"legacy"</code>,
or an <a href="#fm_obe">object builder expression</a> that gives a <a href="../../freemarker/core/CFormat.html" title="class in freemarker.core"><code>CFormat</code></a> object.
<li><p><code>"template_exception_handler"</code>:
See <a href="../../freemarker/core/Configurable.html#setTemplateExceptionHandler-freemarker.template.TemplateExceptionHandler-"><code>setTemplateExceptionHandler(TemplateExceptionHandler)</code></a>.
<br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder
expression</a>.
If the value does not contain dot, then it must be one of these predefined values (case insensitive):
<code>"rethrow"</code> (means <a href="../../freemarker/template/TemplateExceptionHandler.html#RETHROW_HANDLER"><code>TemplateExceptionHandler.RETHROW_HANDLER</code></a>),
<code>"debug"</code> (means <a href="../../freemarker/template/TemplateExceptionHandler.html#DEBUG_HANDLER"><code>TemplateExceptionHandler.DEBUG_HANDLER</code></a>),
<code>"html_debug"</code> (means <a href="../../freemarker/template/TemplateExceptionHandler.html#HTML_DEBUG_HANDLER"><code>TemplateExceptionHandler.HTML_DEBUG_HANDLER</code></a>),
<code>"ignore"</code> (means <a href="../../freemarker/template/TemplateExceptionHandler.html#IGNORE_HANDLER"><code>TemplateExceptionHandler.IGNORE_HANDLER</code></a>), or
<code>"default"</code> (only allowed for <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> instances) for the default value.
<li><p><code>"attempt_exception_reporter"</code>:
See <a href="../../freemarker/core/Configurable.html#setAttemptExceptionReporter-freemarker.template.AttemptExceptionReporter-"><code>setAttemptExceptionReporter(AttemptExceptionReporter)</code></a>.
<br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder
expression</a>.
If the value does not contain dot, then it must be one of these predefined values (case insensitive):
<code>"log_error"</code> (means <a href="../../freemarker/template/AttemptExceptionReporter.html#LOG_ERROR_REPORTER"><code>AttemptExceptionReporter.LOG_ERROR_REPORTER</code></a>),
<code>"log_warn"</code> (means <a href="../../freemarker/template/AttemptExceptionReporter.html#LOG_WARN_REPORTER"><code>AttemptExceptionReporter.LOG_WARN_REPORTER</code></a>), or
<code>"default"</code> (only allowed for <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> instances) for the default value.
<li><p><code>"arithmetic_engine"</code>:
See <a href="../../freemarker/core/Configurable.html#setArithmeticEngine-freemarker.core.ArithmeticEngine-"><code>setArithmeticEngine(ArithmeticEngine)</code></a>.
<br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder
expression</a>.
If the value does not contain dot,
then it must be one of these special values (case insensitive):
<code>"bigdecimal"</code>, <code>"conservative"</code>.
<li><p><code>"object_wrapper"</code>:
See <a href="../../freemarker/core/Configurable.html#setObjectWrapper-freemarker.template.ObjectWrapper-"><code>setObjectWrapper(ObjectWrapper)</code></a>.
<br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder
expression</a>, with the addition that <a href="../../freemarker/ext/beans/BeansWrapper.html" title="class in freemarker.ext.beans"><code>BeansWrapper</code></a>, <a href="../../freemarker/template/DefaultObjectWrapper.html" title="class in freemarker.template"><code>DefaultObjectWrapper</code></a> and
<a href="../../freemarker/template/SimpleObjectWrapper.html" title="class in freemarker.template"><code>SimpleObjectWrapper</code></a> can be referred without package name. For example, these strings are valid
values: <code>"DefaultObjectWrapper(2.3.21, forceLegacyNonListCollections=false, iterableSupport=true)"</code>,
<code>"BeansWrapper(2.3.21, simpleMapWrapper=true)"</code>.
<br>If the value does not contain dot, then it must be one of these special values (case insensitive):
<code>"default"</code> means the default of <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> (the default depends on the
<code>Configuration#Configuration(Version) incompatible_improvements</code>, but a bug existed in 2.3.21 where
that was ignored),
<code>"default_2_3_0"</code> (means the deprecated <a href="../../freemarker/template/ObjectWrapper.html#DEFAULT_WRAPPER"><code>ObjectWrapper.DEFAULT_WRAPPER</code></a>)
<code>"simple"</code> (means the deprecated <a href="../../freemarker/template/ObjectWrapper.html#SIMPLE_WRAPPER"><code>ObjectWrapper.SIMPLE_WRAPPER</code></a>),
<code>"beans"</code> (means the deprecated <a href="../../freemarker/template/ObjectWrapper.html#BEANS_WRAPPER"><code>ObjectWrapper.BEANS_WRAPPER</code></a>
or <a href="../../freemarker/ext/beans/BeansWrapperBuilder.html#build--"><code>BeansWrapperBuilder.build()</code></a>),
<code>"jython"</code> (means <a href="../../freemarker/template/ObjectWrapper.html#DEFAULT_WRAPPER"><code>ObjectWrapper.DEFAULT_WRAPPER</code></a>)
<li><p><code>"number_format"</code>: See <a href="../../freemarker/core/Configurable.html#setNumberFormat-java.lang.String-"><code>setNumberFormat(String)</code></a>.
<li><p><code>"boolean_format"</code>: See <a href="../../freemarker/core/Configurable.html#setBooleanFormat-java.lang.String-"><code>setBooleanFormat(String)</code></a> .
<li><p><code>"date_format", "time_format", "datetime_format"</code>:
See <a href="../../freemarker/core/Configurable.html#setDateFormat-java.lang.String-"><code>setDateFormat(String)</code></a>, <a href="../../freemarker/core/Configurable.html#setTimeFormat-java.lang.String-"><code>setTimeFormat(String)</code></a>, <a href="../../freemarker/core/Configurable.html#setDateTimeFormat-java.lang.String-"><code>setDateTimeFormat(String)</code></a>.
<li><p><code>"time_zone"</code>:
See <a href="../../freemarker/core/Configurable.html#setTimeZone-java.util.TimeZone-"><code>setTimeZone(TimeZone)</code></a>.
<br>String value: With the format as <code>TimeZone.getTimeZone(String)</code> defines it. Also, since 2.3.21
<code>"JVM default"</code> can be used that will be replaced with the actual JVM default time zone when
<a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"><code>setSetting(String, String)</code></a> is called.
For example <code>"GMT-8:00"</code> or <code>"America/Los_Angeles"</code>
<br>If you set this setting, consider setting <code>sql_date_and_time_time_zone</code>
too (see below)!
<li><p><code>sql_date_and_time_time_zone</code>:
See <a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(TimeZone)</code></a>.
Since 2.3.21.
<br>String value: With the format as <code>TimeZone.getTimeZone(String)</code> defines it. Also,
<code>"JVM default"</code> can be used that will be replaced with the actual JVM default time zone when
<a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"><code>setSetting(String, String)</code></a> is called. Also <code>"null"</code> can be used, which has the same effect
as <a href="../../freemarker/core/Configurable.html#setSQLDateAndTimeTimeZone-java.util.TimeZone-"><code>setSQLDateAndTimeTimeZone(null)</code></a>.
<li><p><code>"output_encoding"</code>:
See <a href="../../freemarker/core/Configurable.html#setOutputEncoding-java.lang.String-"><code>setOutputEncoding(String)</code></a>.
<li><p><code>"url_escaping_charset"</code>:
See <a href="../../freemarker/core/Configurable.html#setURLEscapingCharset-java.lang.String-"><code>setURLEscapingCharset(String)</code></a>.
<li><p><code>"auto_flush"</code>:
See <a href="../../freemarker/core/Configurable.html#setAutoFlush-boolean-"><code>setAutoFlush(boolean)</code></a>.
Since 2.3.17.
<br>String value: <code>"true"</code>, <code>"false"</code>, <code>"y"</code>, etc.
<li><p><code>"auto_import"</code>:
See <a href="../../freemarker/core/Configurable.html#setAutoImports-java.util.Map-"><code>setAutoImports(Map)</code></a>
<br>String value is something like:
<br><code>/lib/form.ftl as f, /lib/widget as w, "/lib/odd name.ftl" as odd</code>
<li><p><code>"auto_include"</code>: Sets the list of auto-includes.
See <a href="../../freemarker/core/Configurable.html#setAutoIncludes-java.util.List-"><code>setAutoIncludes(List)</code></a>
<br>String value is something like:
<br><code>/include/common.ftl, "/include/evil name.ftl"</code>
<li><p><code>"lazy_auto_imports"</code>:
See <a href="../../freemarker/core/Configurable.html#setLazyAutoImports-java.lang.Boolean-"><code>setLazyAutoImports(Boolean)</code></a>.
<br>String value: <code>"true"</code>, <code>"false"</code> (also the equivalents: <code>"yes"</code>, <code>"no"</code>,
<code>"t"</code>, <code>"f"</code>, <code>"y"</code>, <code>"n"</code>), case insensitive. Also can be <code>"null"</code>.
<li><p><code>"lazy_imports"</code>:
See <a href="../../freemarker/core/Configurable.html#setLazyImports-boolean-"><code>setLazyImports(boolean)</code></a>.
<br>String value: <code>"true"</code>, <code>"false"</code> (also the equivalents: <code>"yes"</code>, <code>"no"</code>,
<code>"t"</code>, <code>"f"</code>, <code>"y"</code>, <code>"n"</code>), case insensitive.
<li><p><code>"new_builtin_class_resolver"</code>:
See <a href="../../freemarker/core/Configurable.html#setNewBuiltinClassResolver-freemarker.core.TemplateClassResolver-"><code>setNewBuiltinClassResolver(TemplateClassResolver)</code></a>.
Since 2.3.17.
The value must be one of these (ignore the quotation marks):
<ol>
<li><p><code>"unrestricted"</code>:
Use <a href="../../freemarker/core/TemplateClassResolver.html#UNRESTRICTED_RESOLVER"><code>TemplateClassResolver.UNRESTRICTED_RESOLVER</code></a>
<li><p><code>"safer"</code>:
Use <a href="../../freemarker/core/TemplateClassResolver.html#SAFER_RESOLVER"><code>TemplateClassResolver.SAFER_RESOLVER</code></a>
<li><p><code>"allows_nothing"</code> (or <code>"allowsNothing"</code>):
Use <a href="../../freemarker/core/TemplateClassResolver.html#ALLOWS_NOTHING_RESOLVER"><code>TemplateClassResolver.ALLOWS_NOTHING_RESOLVER</code></a>
<li><p>Something that contains colon will use
<a href="../../freemarker/core/OptInTemplateClassResolver.html" title="class in freemarker.core"><code>OptInTemplateClassResolver</code></a> and is expected to
store comma separated values (possibly quoted) segmented
with <code>"allowed_classes:"</code> (or <code>"allowedClasses:"</code>) and/or
<code>"trusted_templates:"</code> (or <code>"trustedTemplates:"</code>). Examples of valid values:
<table style="width: auto; border-collapse: collapse" border="1"
summary="trusted_template value examples">
<tr>
<th>Setting value
<th>Meaning
<tr>
<td>
<code>allowed_classes: com.example.C1, com.example.C2,
trusted_templates: lib/*, safe.ftl</code>
<td>
Only allow instantiating the <code>com.example.C1</code> and
<code>com.example.C2</code> classes. But, allow templates
within the <code>lib/</code> directory (like
<code>lib/foo/bar.ftl</code>) and template <code>safe.ftl</code>
(that does not match <code>foo/safe.ftl</code>, only
exactly <code>safe.ftl</code>) to instantiate anything
that <a href="../../freemarker/core/TemplateClassResolver.html#SAFER_RESOLVER"><code>TemplateClassResolver.SAFER_RESOLVER</code></a> allows.
<tr>
<td>
<code>allowed_classes: com.example.C1, com.example.C2</code>
<td>Only allow instantiating the <code>com.example.C1</code> and
<code>com.example.C2</code> classes. There are no
trusted templates.
<tr>
<td>
<code>trusted_templates: lib/*, safe.ftl</code>
<td>
Do not allow instantiating any classes, except in
templates inside <code>lib/</code> or in template
<code>safe.ftl</code>.
</table>
<p>For more details see <a href="../../freemarker/core/OptInTemplateClassResolver.html" title="class in freemarker.core"><code>OptInTemplateClassResolver</code></a>.
<li><p>Otherwise if the value contains dot, it's interpreted as an <a href="#fm_obe">object builder
expression</a>.
</ol>
<li><p><code>"show_error_tips"</code>:
See <a href="../../freemarker/core/Configurable.html#setShowErrorTips-boolean-"><code>setShowErrorTips(boolean)</code></a>.
Since 2.3.21.
<br>String value: <code>"true"</code>, <code>"false"</code>, <code>"y"</code>, etc.
<li><p><code>api_builtin_enabled</code>:
See <a href="../../freemarker/core/Configurable.html#setAPIBuiltinEnabled-boolean-"><code>setAPIBuiltinEnabled(boolean)</code></a>.
Since 2.3.22.
<br>String value: <code>"true"</code>, <code>"false"</code>, <code>"y"</code>, etc.
<li><p><code>"truncate_builtin_algorithm"</code>:
See <a href="../../freemarker/core/Configurable.html#setTruncateBuiltinAlgorithm-freemarker.core.TruncateBuiltinAlgorithm-"><code>setTruncateBuiltinAlgorithm(TruncateBuiltinAlgorithm)</code></a>.
Since 2.3.19.
<br>String value: An
<a href="#fm_obe">object builder expression</a>, or one of the predefined values (case insensitive),
<code>ascii</code> (for <a href="../../freemarker/core/DefaultTruncateBuiltinAlgorithm.html#ASCII_INSTANCE"><code>DefaultTruncateBuiltinAlgorithm.ASCII_INSTANCE</code></a>) and
<code>unicode</code> (for <a href="../../freemarker/core/DefaultTruncateBuiltinAlgorithm.html#UNICODE_INSTANCE"><code>DefaultTruncateBuiltinAlgorithm.UNICODE_INSTANCE</code></a>).
<br>Example object builder expressions:
<br>Use <code>"..."</code> as terminator (and same as markup terminator), and add space if the
truncation happened on word boundary:
<br><code>DefaultTruncateBuiltinAlgorithm("...", true)</code>
<br>Use <code>"..."</code> as terminator, and also a custom HTML for markup terminator, and add space if the
truncation happened on word boundary:
<br><code>DefaultTruncateBuiltinAlgorithm("...",
markup(HTMLOutputFormat(), "&lt;span class=trunc&gt;...&lt;/span&gt;"), true)</code>
<br>Recreate default truncate algorithm, but with not preferring truncation at word boundaries (i.e.,
with <code>wordBoundaryMinLength</code> 1.0):
<br><code>freemarker.core.DefaultTruncateBuiltinAlgorithm(<br>
DefaultTruncateBuiltinAlgorithm.STANDARD_ASCII_TERMINATOR, null, null,<br>
DefaultTruncateBuiltinAlgorithm.STANDARD_M_TERMINATOR, null, null,<br>
true, 1.0)</code>
</ul>
<p><a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> (a subclass of <a href="../../freemarker/core/Configurable.html" title="class in freemarker.core"><code>Configurable</code></a>) also understands these:</p>
<ul>
<li><p><code>"auto_escaping"</code>:
See <a href="../../freemarker/template/Configuration.html#setAutoEscapingPolicy-int-"><code>Configuration.setAutoEscapingPolicy(int)</code></a>
<br>String value: <code>"enable_if_default"</code> or <code>"enableIfDefault"</code> for
<a href="../../freemarker/template/Configuration.html#ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY"><code>Configuration.ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY</code></a>,
<code>"enable_if_supported"</code> or <code>"enableIfSupported"</code> for
<a href="../../freemarker/template/Configuration.html#ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY"><code>Configuration.ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY</code></a>
<code>"disable"</code> for <a href="../../freemarker/template/Configuration.html#DISABLE_AUTO_ESCAPING_POLICY"><code>Configuration.DISABLE_AUTO_ESCAPING_POLICY</code></a>.
<li><p><code>"default_encoding"</code>:
See <a href="../../freemarker/template/Configuration.html#setDefaultEncoding-java.lang.String-"><code>Configuration.setDefaultEncoding(String)</code></a>; since 2.3.26 also accepts value "JVM default"
(not case sensitive) to set the Java environment default value.
<br>As the default value is the system default, which can change
from one server to another, <b>you should always set this!</b>
<li><p><code>"localized_lookup"</code>:
See <a href="../../freemarker/template/Configuration.html#setLocalizedLookup-boolean-"><code>Configuration.setLocalizedLookup(boolean)</code></a>.
<br>String value: <code>"true"</code>, <code>"false"</code> (also the equivalents: <code>"yes"</code>, <code>"no"</code>,
<code>"t"</code>, <code>"f"</code>, <code>"y"</code>, <code>"n"</code>).
Case insensitive.
<li><p><code>"output_format"</code>:
See <a href="../../freemarker/template/Configuration.html#setOutputFormat-freemarker.core.OutputFormat-"><code>Configuration.setOutputFormat(OutputFormat)</code></a>.
<br>String value: <code>"default"</code> (case insensitive) for the default,
one of <code>undefined</code>, <code>HTML</code>, <code>XHTML</code>, <code>XML</code>, <code>RTF</code>, <code>plainText</code>,
<code>CSS</code>, <code>JavaScript</code>, <code>JSON</code>,
or an <a href="#fm_obe">object builder expression</a> that gives an <a href="../../freemarker/core/OutputFormat.html" title="class in freemarker.core"><code>OutputFormat</code></a>, for example
<code>HTMLOutputFormat</code>, or <code>com.example.MyOutputFormat()</code>.
<li><p><code>"registered_custom_output_formats"</code>:
See <a href="../../freemarker/template/Configuration.html#setRegisteredCustomOutputFormats-java.util.Collection-"><code>Configuration.setRegisteredCustomOutputFormats(Collection)</code></a>.
<br>String value: an <a href="#fm_obe">object builder expression</a> that gives a <code>List</code> of
<a href="../../freemarker/core/OutputFormat.html" title="class in freemarker.core"><code>OutputFormat</code></a>-s.
Example: <code>[com.example.MyOutputFormat(), com.example.MyOtherOutputFormat()]</code>
<li><p><code>"strict_syntax"</code>:
See <a href="../../freemarker/template/Configuration.html#setStrictSyntaxMode-boolean-"><code>Configuration.setStrictSyntaxMode(boolean)</code></a>. Deprecated.
<br>String value: <code>"true"</code>, <code>"false"</code>, <code>yes</code>, etc.
<li><p><code>"whitespace_stripping"</code>:
See <a href="../../freemarker/template/Configuration.html#setWhitespaceStripping-boolean-"><code>Configuration.setWhitespaceStripping(boolean)</code></a>.
<br>String value: <code>"true"</code>, <code>"false"</code>, <code>yes</code>, etc.
<li><p><code>"cache_storage"</code>:
See <a href="../../freemarker/template/Configuration.html#setCacheStorage-freemarker.cache.CacheStorage-"><code>Configuration.setCacheStorage(freemarker.cache.CacheStorage)</code></a>.
<br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder
expression</a>.
If the value does not contain dot,
then a <a href="../../freemarker/cache/MruCacheStorage.html" title="class in freemarker.cache"><code>MruCacheStorage</code></a> will be used with the
maximum strong and soft sizes specified with the setting value. Examples
of valid setting values:
<table style="width: auto; border-collapse: collapse" border="1" summary="cache_storage value examples">
<tr><th>Setting value<th>max. strong size<th>max. soft size
<tr><td><code>"strong:50, soft:500"</code><td>50<td>500
<tr><td><code>"strong:100, soft"</code><td>100<td><code>Integer.MAX_VALUE</code>
<tr><td><code>"strong:100"</code><td>100<td>0
<tr><td><code>"soft:100"</code><td>0<td>100
<tr><td><code>"strong"</code><td><code>Integer.MAX_VALUE</code><td>0
<tr><td><code>"soft"</code><td>0<td><code>Integer.MAX_VALUE</code>
</table>
<p>The value is not case sensitive. The order of <tt>soft</tt> and <tt>strong</tt>
entries is not significant.
<li><p><code>"template_update_delay"</code>:
Template update delay in <b>seconds</b> (not in milliseconds) if no unit is specified; see
<a href="../../freemarker/template/Configuration.html#setTemplateUpdateDelayMilliseconds-long-"><code>Configuration.setTemplateUpdateDelayMilliseconds(long)</code></a> for more.
<br>String value: Valid positive integer, optionally followed by a time unit (recommended). The default
unit is seconds. It's strongly recommended to specify the unit for clarity, like in "500 ms" or "30 s".
Supported units are: "s" (seconds), "ms" (milliseconds), "m" (minutes), "h" (hours). The whitespace between
the unit and the number is optional. Units are only supported since 2.3.23.
<li><p><code>"tag_syntax"</code>:
See <a href="../../freemarker/template/Configuration.html#setTagSyntax-int-"><code>Configuration.setTagSyntax(int)</code></a>.
<br>String value: Must be one of
<code>"auto_detect"</code>, <code>"angle_bracket"</code>, and <code>"square_bracket"</code> (like <code>[#if x]</code>).
<br>Note that setting the <code>"tagSyntax"</code> to <code>"square_bracket"</code> does <em>not</em> change
<code>${x}</code> to <code>[=...]</code>; that's <em>interpolation</em> syntax, so use the
<code>"interpolation_syntax"</code> setting for that, not this setting.
<li><p><code>"interpolation_syntax"</code> (since 2.3.28):
See <a href="../../freemarker/template/Configuration.html#setInterpolationSyntax-int-"><code>Configuration.setInterpolationSyntax(int)</code></a>.
<br>String value: Must be one of
<code>"legacy"</code>, <code>"dollar"</code>, and <code>"square_bracket"</code> (like <code>[=x]</code>).
<br>Note that setting the <code>"interpolation_syntax"</code> to <code>"square_bracket"</code> does <em>not</em>
change <code>&lt;#if x&gt;</code> to <code>[#if x]</code>; that's <em>tag</em> syntax, so use the
<code>"tag_syntax"</code> setting for that, not this setting.
<li><p><code>"naming_convention"</code>:
See <a href="../../freemarker/template/Configuration.html#setNamingConvention-int-"><code>Configuration.setNamingConvention(int)</code></a>.
<br>String value: Must be one of
<code>"auto_detect"</code>, <code>"legacy"</code>, and <code>"camel_case"</code>.
<li><p><code>"fallback_on_null_loop_variable"</code>:
See <a href="../../freemarker/template/Configuration.html#setFallbackOnNullLoopVariable-boolean-"><code>Configuration.setFallbackOnNullLoopVariable(boolean)</code></a>.
<br>String value: <code>"true"</code>, <code>"false"</code> (also the equivalents: <code>"yes"</code>, <code>"no"</code>,
<code>"t"</code>, <code>"f"</code>, <code>"y"</code>, <code>"n"</code>).
Case insensitive.
<li><p><code>"incompatible_improvements"</code>:
See <a href="../../freemarker/template/Configuration.html#setIncompatibleImprovements-freemarker.template.Version-"><code>Configuration.setIncompatibleImprovements(Version)</code></a>.
<br>String value: version number like <code>2.3.20</code>.
<li><p><code>"incompatible_enhancements"</code>:
See: <a href="../../freemarker/template/Configuration.html#setIncompatibleEnhancements-java.lang.String-"><code>Configuration.setIncompatibleEnhancements(String)</code></a>.
This setting name is deprecated, use <code>"incompatible_improvements"</code> instead.
<li><p><code>"recognize_standard_file_extensions"</code>:
See <a href="../../freemarker/template/Configuration.html#setRecognizeStandardFileExtensions-boolean-"><code>Configuration.setRecognizeStandardFileExtensions(boolean)</code></a>.
<br>String value: <code>"default"</code> (case insensitive) for the default, or <code>"true"</code>, <code>"false"</code>,
<code>yes</code>, etc.
<li><p><code>"template_configurations"</code>:
See: <a href="../../freemarker/template/Configuration.html#setTemplateConfigurations-freemarker.cache.TemplateConfigurationFactory-"><code>Configuration.setTemplateConfigurations(freemarker.cache.TemplateConfigurationFactory)</code></a>.
<br>String value: Interpreted as an <a href="#fm_obe">object builder expression</a>,
can be <code>null</code>.
<li><p><code>"template_loader"</code>:
See: <a href="../../freemarker/template/Configuration.html#setTemplateLoader-freemarker.cache.TemplateLoader-"><code>Configuration.setTemplateLoader(TemplateLoader)</code></a>.
<br>String value: <code>"default"</code> (case insensitive) for the default, or else interpreted as an
<a href="#fm_obe">object builder expression</a>. <code>"null"</code> is also allowed since 2.3.26.
<li><p><code>"template_lookup_strategy"</code>:
See: <a href="../../freemarker/template/Configuration.html#setTemplateLookupStrategy-freemarker.cache.TemplateLookupStrategy-"><code>Configuration.setTemplateLookupStrategy(freemarker.cache.TemplateLookupStrategy)</code></a>.
<br>String value: <code>"default"</code> (case insensitive) for the default, or else interpreted as an
<a href="#fm_obe">object builder expression</a>.
<li><p><code>"template_name_format"</code>:
See: <a href="../../freemarker/template/Configuration.html#setTemplateNameFormat-freemarker.cache.TemplateNameFormat-"><code>Configuration.setTemplateNameFormat(freemarker.cache.TemplateNameFormat)</code></a>.
<br>String value: <code>"default"</code> (case insensitive) for the default, <code>"default_2_3_0"</code>
for <a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_3_0"><code>TemplateNameFormat.DEFAULT_2_3_0</code></a>, <code>"default_2_4_0"</code> for
<a href="../../freemarker/cache/TemplateNameFormat.html#DEFAULT_2_4_0"><code>TemplateNameFormat.DEFAULT_2_4_0</code></a>.
<li><p><code>"tab_size"</code>:
See <a href="../../freemarker/template/Configuration.html#setTabSize-int-"><code>Configuration.setTabSize(int)</code></a>.
</ul>
<p><a name="fm_obe"></a>Regarding <em>object builder expressions</em> (used by the setting values where it was
indicated):
<ul>
<li><p>Before FreeMarker 2.3.21 it had to be a fully qualified class name, and nothing else.</li>
<li><p>Since 2.3.21, the generic syntax is:
<tt><i>className</i>(<i>constrArg1</i>, <i>constrArg2</i>, ... <i>constrArgN</i>,
<i>propName1</i>=<i>propValue1</i>, <i>propName2</i>=<i>propValue2</i>, ...
<i>propNameN</i>=<i>propValueN</i>)</tt>,
where
<tt><i>className</i></tt> is the fully qualified class name of the instance to create (except if we have
builder class or <tt>INSTANCE</tt> field around, but see that later),
<tt><i>constrArg</i></tt>-s are the values of constructor arguments,
and <tt><i>propName</i>=<i>propValue</i></tt>-s set JavaBean properties (like <tt>x=1</tt> means
<tt>setX(1)</tt>) on the created instance. You can have any number of constructor arguments and property
setters, including 0. Constructor arguments must precede any property setters.
</li>
<li>
Example: <tt>com.example.MyObjectWrapper(1, 2, exposeFields=true, cacheSize=5000)</tt> is nearly
equivalent with this Java code:
<tt>obj = new com.example.MyObjectWrapper(1, 2); obj.setExposeFields(true); obj.setCacheSize(5000);</tt>
</li>
<li>
<p>If you have no constructor arguments and property setters, and the <tt><i>className</i></tt> class has
a public static <code>INSTANCE</code> field, the value of that filed will be the value of the expression, and
the constructor won't be called. Note that if you use the backward compatible
syntax, where these's no parenthesis after the class name, then it will not look for <code>INSTANCE</code>.
</li>
<li>
<p>If there exists a class named <tt><i>className</i>Builder</tt>, then that class will be instantiated
instead with the given constructor arguments, and the JavaBean properties of that builder instance will be
set. After that, the public <tt>build()</tt> method of the instance will be called, whose return value
will be the value of the whole expression. (The builder class and the <tt>build()</tt> method is simply
found by name, there's no special interface to implement.) Note that if you use the backward compatible
syntax, where these's no parenthesis after the class name, then it will not look for builder class. Note
that if you have a builder class, you don't actually need a <tt><i>className</i></tt> class (since 2.3.24);
after all, <tt><i>className</i>Builder.build()</tt> can return any kind of object.
</li>
<li>
<p>Currently, the values of arguments and properties can only be one of these:
<ul>
<li>A numerical literal, like <code>123</code> or <code>-1.5</code>. The value will be automatically converted to
the type of the target (just like in FTL). However, a target type is only available if the number will
be a parameter to a method or constructor, not when it's a value (or key) in a <code>List</code> or
<code>Map</code> literal. Thus in the last case the type of number will be like in Java language, like
<code>1</code> is an <code>int</code>, and <code>1.0</code> is a <code>double</code>, and <code>1.0f</code> is a <code>float</code>,
etc. In all cases, the standard Java type postfixes can be used ("f", "d", "l"), plus "bd" for
<code>BigDecimal</code> and "bi" for <code>BigInteger</code>.</li>
<li>A boolean literal: <code>true</code> or <code>false</code>
<li>The null literal: <code>null</code>
<li>A string literal with FTL syntax, except that it can't contain <tt>${...}</tt>-s and
<tt>#{...}</tt>-s. Examples: <code>"Line 1\nLine 2"</code> or <code>r"C:\temp"</code>.
<li>A list literal (since 2.3.24) with FTL-like syntax, for example <code>[ 'foo', 2, true ]</code>.
If the parameter is expected to be array, the list will be automatically converted to array.
The list items can be any kind of expression, like even object builder expressions.
<li>A map literal (since 2.3.24) with FTL-like syntax, for example <code>{ 'foo': 2, 'bar': true }</code>.
The keys and values can be any kind of expression, like even object builder expressions.
The resulting Java object will be a <code>Map</code> that keeps the item order (<code>LinkedHashMap</code> as
of this writing).
<li>A reference to a public static filed, like <code>Configuration.AUTO_DETECT_TAG_SYNTAX</code> or
<code>com.example.MyClass.MY_CONSTANT</code>.
<li>An object builder expression. That is, object builder expressions can be nested into each other.
</ul>
</li>
<li>
The same kind of expression as for parameters can also be used as top-level expressions (though it's
rarely useful, apart from using <code>null</code>).
</li>
<li>
<p>The top-level object builder expressions may omit <code>()</code>. In that case, for backward compatibility,
the <code>INSTANCE</code> field and the builder class is not searched, so the instance will be always
created with its parameterless constructor. (This behavior will possibly change in 2.4.) The <code>()</code>
can't be omitted for nested expressions.
</li>
<li>
<p>The following classes can be referred to with simple (unqualified) name instead of fully qualified name:
<a href="../../freemarker/template/DefaultObjectWrapper.html" title="class in freemarker.template"><code>DefaultObjectWrapper</code></a>, <a href="../../freemarker/ext/beans/BeansWrapper.html" title="class in freemarker.ext.beans"><code>BeansWrapper</code></a>, <a href="../../freemarker/template/SimpleObjectWrapper.html" title="class in freemarker.template"><code>SimpleObjectWrapper</code></a>, <code>Locale</code>,
<a href="../../freemarker/core/TemplateConfiguration.html" title="class in freemarker.core"><code>TemplateConfiguration</code></a>, <a href="../../freemarker/cache/PathGlobMatcher.html" title="class in freemarker.cache"><code>PathGlobMatcher</code></a>, <a href="../../freemarker/cache/FileNameGlobMatcher.html" title="class in freemarker.cache"><code>FileNameGlobMatcher</code></a>, <a href="../../freemarker/cache/PathRegexMatcher.html" title="class in freemarker.cache"><code>PathRegexMatcher</code></a>,
<a href="../../freemarker/cache/AndMatcher.html" title="class in freemarker.cache"><code>AndMatcher</code></a>, <a href="../../freemarker/cache/OrMatcher.html" title="class in freemarker.cache"><code>OrMatcher</code></a>, <a href="../../freemarker/cache/NotMatcher.html" title="class in freemarker.cache"><code>NotMatcher</code></a>, <a href="../../freemarker/cache/ConditionalTemplateConfigurationFactory.html" title="class in freemarker.cache"><code>ConditionalTemplateConfigurationFactory</code></a>,
<a href="../../freemarker/cache/MergingTemplateConfigurationFactory.html" title="class in freemarker.cache"><code>MergingTemplateConfigurationFactory</code></a>, <a href="../../freemarker/cache/FirstMatchTemplateConfigurationFactory.html" title="class in freemarker.cache"><code>FirstMatchTemplateConfigurationFactory</code></a>,
<a href="../../freemarker/core/HTMLOutputFormat.html" title="class in freemarker.core"><code>HTMLOutputFormat</code></a>, <a href="../../freemarker/core/XMLOutputFormat.html" title="class in freemarker.core"><code>XMLOutputFormat</code></a>, <a href="../../freemarker/core/RTFOutputFormat.html" title="class in freemarker.core"><code>RTFOutputFormat</code></a>, <a href="../../freemarker/core/PlainTextOutputFormat.html" title="class in freemarker.core"><code>PlainTextOutputFormat</code></a>,
<a href="../../freemarker/core/UndefinedOutputFormat.html" title="class in freemarker.core"><code>UndefinedOutputFormat</code></a>, <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>, <a href="../../freemarker/core/DefaultTruncateBuiltinAlgorithm.html" title="class in freemarker.core"><code>DefaultTruncateBuiltinAlgorithm</code></a>.
</li>
<li>
<p><code>TimeZone</code> objects can be created like <code>TimeZone("UTC")</code>, despite that there's no a such
constructor (since 2.3.24).
</li>
<li>
<p><a href="../../freemarker/core/TemplateMarkupOutputModel.html" title="interface in freemarker.core"><code>TemplateMarkupOutputModel</code></a> objects can be created like
<code>markup(HTMLOutputFormat(), "&lt;h1&gt;Example&lt;/h1&gt;")</code> (since 2.3.29). Of course the 1st argument can be
any other <a href="../../freemarker/core/MarkupOutputFormat.html" title="class in freemarker.core"><code>MarkupOutputFormat</code></a> too.
</li>
<li>
<p>The classes and methods that the expression meant to access must be all public.
</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the setting.</dd>
<dd><code>value</code> - the string that describes the new value of the setting.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/core/Configurable.UnknownSettingException.html" title="class in freemarker.core">Configurable.UnknownSettingException</a></code> - if the name is wrong.</dd>
<dd><code><a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code> - if the new value of the setting can't be set for any other reasons.</dd>
</dl>
</li>
</ul>
<a name="getSettingNames-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSettingNames</h4>
<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getSettingNames(boolean&nbsp;camelCase)</pre>
<div class="block">Returns the valid setting names that aren't <a href="../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>-only.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>camelCase</code> - If we want the setting names with camel case naming convention, or with snake case (legacy) naming
convention.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/template/Configuration.html#getSettingNames-boolean-"><code>Configuration.getSettingNames(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="setStrictBeanModels-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStrictBeanModels</h4>
<pre>@Deprecated
public&nbsp;void&nbsp;setStrictBeanModels(boolean&nbsp;strict)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Set this on the <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> itself.</span></div>
</li>
</ul>
<a name="getSetting-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSetting</h4>
<pre>@Deprecated
public&nbsp;java.lang.String&nbsp;getSetting(java.lang.String&nbsp;key)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">It's not possible in general to convert setting values to string,
and thus it's impossible to ensure that <a href="../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"><code>setSetting(String, String)</code></a> will work with
the returned value correctly.</span></div>
<div class="block">Returns the textual representation of a setting.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the setting key. Can be any of standard <tt>XXX_KEY</tt>
constants, or a custom key.</dd>
</dl>
</li>
</ul>
<a name="getSettings--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSettings</h4>
<pre>@Deprecated
public&nbsp;java.util.Map&nbsp;getSettings()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This method was always defective, and certainly it always
will be. Don't use it. (Simply, it's hardly possible in general to
convert setting values to text in a way that ensures that
<a href="../../freemarker/core/Configurable.html#setSettings-java.util.Properties-"><code>setSettings(Properties)</code></a> will work with them correctly.)</span></div>
<div class="block">This meant to return the String-to-String <code>Map</code> of the
settings. So it actually should return a <code>Properties</code> object,
but it doesn't by mistake. The returned <code>Map</code> is read-only,
but it will reflect the further configuration changes (aliasing effect).</div>
</li>
</ul>
<a name="getEnvironment--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnvironment</h4>
<pre>protected&nbsp;<a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;getEnvironment()</pre>
</li>
</ul>
<a name="unknownSettingException-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unknownSettingException</h4>
<pre>protected&nbsp;<a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>&nbsp;unknownSettingException(java.lang.String&nbsp;name)</pre>
<div class="block">Creates the exception that should be thrown when a setting name isn't recognized.</div>
</li>
</ul>
<a name="getCorrectedNameForUnknownSetting-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCorrectedNameForUnknownSetting</h4>
<pre>protected&nbsp;java.lang.String&nbsp;getCorrectedNameForUnknownSetting(java.lang.String&nbsp;name)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The wrong name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The corrected name, or <code>null</code> if there's no known correction</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.21</dd>
</dl>
</li>
</ul>
<a name="settingValueAssignmentException-java.lang.String-java.lang.String-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>settingValueAssignmentException</h4>
<pre>protected&nbsp;<a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>&nbsp;settingValueAssignmentException(java.lang.String&nbsp;name,
java.lang.String&nbsp;value,
java.lang.Throwable&nbsp;cause)</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.21</dd>
</dl>
</li>
</ul>
<a name="invalidSettingValueException-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invalidSettingValueException</h4>
<pre>protected&nbsp;<a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>&nbsp;invalidSettingValueException(java.lang.String&nbsp;name,
java.lang.String&nbsp;value)</pre>
</li>
</ul>
<a name="setSettings-java.util.Properties-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSettings</h4>
<pre>public&nbsp;void&nbsp;setSettings(java.util.Properties&nbsp;props)
throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></pre>
<div class="block">Set the settings stored in a <code>Properties</code> object.</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> - if the <code>Properties</code> object contains
invalid keys, or invalid setting values, or any other error occurs
while changing the settings.</dd>
</dl>
</li>
</ul>
<a name="setSettings-java.io.InputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSettings</h4>
<pre>public&nbsp;void&nbsp;setSettings(java.io.InputStream&nbsp;propsIn)
throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
java.io.IOException</pre>
<div class="block">Reads a setting list (key and element pairs) from the input stream.
The stream has to follow the usual <code>.properties</code> format.</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> - if the stream contains
invalid keys, or invalid setting values, or any other error occurs
while changing the settings.</dd>
<dd><code>java.io.IOException</code> - if an error occurred when reading from the input stream.</dd>
</dl>
</li>
</ul>
<a name="setCustomAttribute-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCustomAttribute</h4>
<pre>public&nbsp;void&nbsp;setCustomAttribute(java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)</pre>
<div class="block">Sets a named custom attribute for this configurable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the custom attribute</dd>
<dd><code>value</code> - the value of the custom attribute. You can set the value to
null, however note that there is a semantic difference between an
attribute set to null and an attribute that is not present, see
<a href="../../freemarker/core/Configurable.html#removeCustomAttribute-java.lang.String-"><code>removeCustomAttribute(String)</code></a>.</dd>
</dl>
</li>
</ul>
<a name="getCustomAttributeNames--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomAttributeNames</h4>
<pre>public&nbsp;java.lang.String[]&nbsp;getCustomAttributeNames()</pre>
<div class="block">Returns an array with names of all custom attributes defined directly
on this configurable. (That is, it doesn't contain the names of custom attributes
defined indirectly on its parent configurables.) The returned array is never null,
but can be zero-length.
The order of elements in the returned array is not defined and can change
between invocations.</div>
</li>
</ul>
<a name="removeCustomAttribute-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeCustomAttribute</h4>
<pre>public&nbsp;void&nbsp;removeCustomAttribute(java.lang.String&nbsp;name)</pre>
<div class="block">Removes a named custom attribute for this configurable. Note that this
is different than setting the custom attribute value to null. If you
set the value to null, <a href="../../freemarker/core/Configurable.html#getCustomAttribute-java.lang.String-"><code>getCustomAttribute(String)</code></a> will return
null, while if you remove the attribute, it will return the value of
the attribute in the parent configurable (if there is a parent
configurable, that is).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the custom attribute</dd>
</dl>
</li>
</ul>
<a name="getCustomAttribute-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCustomAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getCustomAttribute(java.lang.String&nbsp;name)</pre>
<div class="block">Retrieves a named custom attribute for this configurable. If the
attribute is not present in the configurable, and the configurable has
a parent, then the parent is looked up as well.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the custom attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the custom attribute. Note that if the custom attribute
was created with <tt>&lt;#ftl&nbsp;attributes={...}&gt;</tt>, then this value is already
unwrapped (i.e. it's a <code>String</code>, or a <code>List</code>, or a
<code>Map</code>, ...etc., not a FreeMarker specific class).</dd>
</dl>
</li>
</ul>
<a name="doAutoImportsAndIncludes-freemarker.core.Environment-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAutoImportsAndIncludes</h4>
<pre>protected&nbsp;void&nbsp;doAutoImportsAndIncludes(<a href="../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;env)
throws <a href="../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
java.io.IOException</pre>
<div class="block">Executes the auto-imports and auto-includes for the main template of this environment.
This is not meant to be called or overridden by code outside of FreeMarker.</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="parseAsList-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseAsList</h4>
<pre>protected&nbsp;java.util.ArrayList&nbsp;parseAsList(java.lang.String&nbsp;text)
throws <a href="../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></code></dd>
</dl>
</li>
</ul>
<a name="parseAsSegmentedList-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseAsSegmentedList</h4>
<pre>protected&nbsp;java.util.ArrayList&nbsp;parseAsSegmentedList(java.lang.String&nbsp;text)
throws <a href="../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></code></dd>
</dl>
</li>
</ul>
<a name="parseAsImportList-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>parseAsImportList</h4>
<pre>protected&nbsp;java.util.HashMap&nbsp;parseAsImportList(java.lang.String&nbsp;text)
throws <a href="../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/core/ParseException.html" title="class in freemarker.core">ParseException</a></code></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/Configurable.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/core/CommonTemplateMarkupOutputModel.html" title="class in freemarker.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/core/Configurable.SettingValueAssignmentException.html" title="class in freemarker.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/core/Configurable.html" target="_top">Frames</a></li>
<li><a href="Configurable.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>