<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_281) on Sun Jan 15 15:58:35 CET 2023 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SimpleHash (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="SimpleHash (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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/SimpleHash.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../freemarker/template/SimpleDate.html" title="class in freemarker.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/template/SimpleList.html" title="class in freemarker.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/template/SimpleHash.html" target="_top">Frames</a></li>
<li><a href="SimpleHash.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>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">freemarker.template</div>
<h2 title="Class SimpleHash" class="title">Class SimpleHash</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../freemarker/template/WrappingTemplateModel.html" title="class in freemarker.template">freemarker.template.WrappingTemplateModel</a></li>
<li>
<ul class="inheritance">
<li>freemarker.template.SimpleHash</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, <a href="../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template">TemplateHashModelEx</a>, <a href="../../freemarker/template/TemplateHashModelEx2.html" title="interface in freemarker.template">TemplateHashModelEx2</a>, <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>, java.io.Serializable</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../freemarker/ext/servlet/AllHttpScopesHashModel.html" title="class in freemarker.ext.servlet">AllHttpScopesHashModel</a>, <a href="../../freemarker/core/Environment.Namespace.html" title="class in freemarker.core">Environment.Namespace</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SimpleHash</span>
extends <a href="../../freemarker/template/WrappingTemplateModel.html" title="class in freemarker.template">WrappingTemplateModel</a>
implements <a href="../../freemarker/template/TemplateHashModelEx2.html" title="interface in freemarker.template">TemplateHashModelEx2</a>, java.io.Serializable</pre>
<div class="block">A simple implementation of the <a href="../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template"><code>TemplateHashModelEx</code></a> interface, using its own underlying <code>Map</code> or
 <code>SortedMap</code> for storing the hash entries. If you are wrapping an already existing <code>Map</code>, you should
 certainly use <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> instead (see comparison below).

 <p>
 This class is thread-safe if you don't call modifying methods (like <a href="../../freemarker/template/SimpleHash.html#put-java.lang.String-java.lang.Object-"><code>put(String, Object)</code></a>,
 <a href="../../freemarker/template/SimpleHash.html#remove-java.lang.String-"><code>remove(String)</code></a>, etc.) after you have made the object available for multiple threads (assuming you have
 published it safely to the other threads; see JSR-133 Java Memory Model). These methods aren't called by FreeMarker,
 so it's usually not a concern.
 
 <p>
 <b><a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> VS <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> - Which to use when?</b>
 
 <p>
 For a <code>Map</code> that exists regardless of FreeMarker, only you need to access it from templates,
 <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> should be the default choice, as it reflects the exact behavior of the underlying
 <code>Map</code> (no surprises), can be unwrapped to the originally wrapped object (important when passing it to Java
 methods from the template), and has more predictable performance (no spikes).
 
 <p>
 For a hash that's made specifically to be used from templates, creating an empty <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> then filling it
 with <a href="../../freemarker/template/SimpleHash.html#put-java.lang.String-java.lang.Object-"><code>put(String, Object)</code></a> is usually the way to go, as the resulting hash is significantly faster
 to read from templates than a <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> (though it's somewhat slower to read from a plain Java method
 to which it had to be passed adapted to a <code>Map</code>).
 
 <p>
 It also matters if for how many times will the <em>same</em> <code>Map</code> entry be read from the template(s) later, on
 average. If, on average, you read each entry for more than 4 times, <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> will be most certainly faster,
 but if for 2 times or less (and especially if not at all) then <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> will be faster. Before 
 choosing based on performance though, pay attention to the behavioral differences; <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> will 
 shallow-copy the original <code>Map</code> at construction time, so key order will be lost in some cases, and it won't 
 reflect <code>Map</code> content changes after the <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> construction, also <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> can't be 
 unwrapped to the original <code>Map</code> instance.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a>, 
<a href="../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template"><code>TemplateHashModelEx</code></a>, 
<a href="../../serialized-form.html#freemarker.template.SimpleHash">Serialized Form</a></dd>
</dl>
</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>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.freemarker.template.TemplateHashModelEx2">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;freemarker.template.<a href="../../freemarker/template/TemplateHashModelEx2.html" title="interface in freemarker.template">TemplateHashModelEx2</a></h3>
<code><a href="../../freemarker/template/TemplateHashModelEx2.KeyValuePair.html" title="interface in freemarker.template">TemplateHashModelEx2.KeyValuePair</a>, <a href="../../freemarker/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template">TemplateHashModelEx2.KeyValuePairIterator</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.freemarker.template.TemplateModel">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;freemarker.template.<a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a></h3>
<code><a href="../../freemarker/template/TemplateModel.html#NOTHING">NOTHING</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#SimpleHash--">SimpleHash</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../freemarker/template/SimpleHash.html#SimpleHash-freemarker.template.ObjectWrapper-"><code>SimpleHash(ObjectWrapper)</code></a></span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#SimpleHash-java.util.Map-">SimpleHash</a></span>(java.util.Map&nbsp;map)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../freemarker/template/SimpleHash.html#SimpleHash-java.util.Map-freemarker.template.ObjectWrapper-"><code>SimpleHash(Map, ObjectWrapper)</code></a></span></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#SimpleHash-java.util.Map-freemarker.template.ObjectWrapper-int-">SimpleHash</a></span>(java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;directMap,
          <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper,
          int&nbsp;overloadDistinction)</code>
<div class="block">Creates an instance that will use the specified <code>Map</code> directly as its backing store; beware, the
 <code>Map</code> will be possibly modified by <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a>, even if you only read the <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#SimpleHash-java.util.Map-freemarker.template.ObjectWrapper-">SimpleHash</a></span>(java.util.Map&nbsp;map,
          <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)</code>
<div class="block">Creates a new hash by shallow-coping (possibly cloning) the underlying map; in many applications you should use
 <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> instead.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#SimpleHash-freemarker.template.ObjectWrapper-">SimpleHash</a></span>(<a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)</code>
<div class="block">Creates an empty simple hash using the specified object wrapper.</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></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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#containsKey-java.lang.String-">containsKey</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">Tells if the map contains a key or not, regardless if the associated value is <code>null</code> or not.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#copyMap-java.util.Map-">copyMap</a></span>(java.util.Map&nbsp;map)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#get-java.lang.String-">get</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">Gets a <tt>TemplateModel</tt> from the hash.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#isEmpty--">isEmpty</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/template/TemplateCollectionModel.html" title="interface in freemarker.template">TemplateCollectionModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#keys--">keys</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template">TemplateHashModelEx2.KeyValuePairIterator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#keyValuePairIterator--">keyValuePairIterator</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#put-java.lang.String-boolean-">put</a></span>(java.lang.String&nbsp;key,
   boolean&nbsp;b)</code>
<div class="block">Puts a boolean in the map</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#put-java.lang.String-java.lang.Object-">put</a></span>(java.lang.String&nbsp;key,
   java.lang.Object&nbsp;value)</code>
<div class="block">Adds a key-value entry to this hash.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#putAll-java.util.Map-">putAll</a></span>(java.util.Map&nbsp;m)</code>
<div class="block">Adds all the key/value entries in the map</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#remove-java.lang.String-">remove</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">Removes the given key from the underlying map.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#size--">size</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template">SimpleHash</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#synchronizedWrapper--">synchronizedWrapper</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#toMap--">toMap</a></span>()</code>
<div class="block">Note that this method creates and returns a deep-copy of the underlying hash used
 internally.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#toString--">toString</a></span>()</code>
<div class="block">Returns the <code>toString()</code> of the underlying <code>Map</code>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../freemarker/template/TemplateCollectionModel.html" title="interface in freemarker.template">TemplateCollectionModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../freemarker/template/SimpleHash.html#values--">values</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.freemarker.template.WrappingTemplateModel">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;freemarker.template.<a href="../../freemarker/template/WrappingTemplateModel.html" title="class in freemarker.template">WrappingTemplateModel</a></h3>
<code><a href="../../freemarker/template/WrappingTemplateModel.html#getDefaultObjectWrapper--">getDefaultObjectWrapper</a>, <a href="../../freemarker/template/WrappingTemplateModel.html#getObjectWrapper--">getObjectWrapper</a>, <a href="../../freemarker/template/WrappingTemplateModel.html#setDefaultObjectWrapper-freemarker.template.ObjectWrapper-">setDefaultObjectWrapper</a>, <a href="../../freemarker/template/WrappingTemplateModel.html#setObjectWrapper-freemarker.template.ObjectWrapper-">setObjectWrapper</a>, <a href="../../freemarker/template/WrappingTemplateModel.html#wrap-java.lang.Object-">wrap</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SimpleHash--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleHash</h4>
<pre>@Deprecated
public&nbsp;SimpleHash()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../freemarker/template/SimpleHash.html#SimpleHash-freemarker.template.ObjectWrapper-"><code>SimpleHash(ObjectWrapper)</code></a></span></div>
<div class="block">Constructs an empty hash that uses the default wrapper set in
 <a href="../../freemarker/template/WrappingTemplateModel.html#setDefaultObjectWrapper-freemarker.template.ObjectWrapper-"><code>WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)</code></a>.</div>
</li>
</ul>
<a name="SimpleHash-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleHash</h4>
<pre>@Deprecated
public&nbsp;SimpleHash(java.util.Map&nbsp;map)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../freemarker/template/SimpleHash.html#SimpleHash-java.util.Map-freemarker.template.ObjectWrapper-"><code>SimpleHash(Map, ObjectWrapper)</code></a></span></div>
<div class="block">Creates a new simple hash with the copy of the underlying map and the
 default wrapper set in 
 <a href="../../freemarker/template/WrappingTemplateModel.html#setDefaultObjectWrapper-freemarker.template.ObjectWrapper-"><code>WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - The Map to use for the key/value pairs. It makes a copy for 
 internal use. If the map implements the <code>SortedMap</code> interface, the
 internal copy will be a <code>TreeMap</code>, otherwise it will be a 
 <code>HashMap</code>.</dd>
</dl>
</li>
</ul>
<a name="SimpleHash-freemarker.template.ObjectWrapper-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleHash</h4>
<pre>public&nbsp;SimpleHash(<a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)</pre>
<div class="block">Creates an empty simple hash using the specified object wrapper.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wrapper</code> - The object wrapper to use to wrap objects into
 <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> instances. If null, the default wrapper set in 
 <a href="../../freemarker/template/WrappingTemplateModel.html#setDefaultObjectWrapper-freemarker.template.ObjectWrapper-"><code>WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)</code></a> is
 used.</dd>
</dl>
</li>
</ul>
<a name="SimpleHash-java.util.Map-freemarker.template.ObjectWrapper-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleHash</h4>
<pre>public&nbsp;SimpleHash(java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;directMap,
                  <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper,
                  int&nbsp;overloadDistinction)</pre>
<div class="block">Creates an instance that will use the specified <code>Map</code> directly as its backing store; beware, the
 <code>Map</code> will be possibly modified by <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a>, even if you only read the <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a>.
 That's because when a value is read, it's replaced with the corresponding <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>.

 <p>The goal of this constructor is to allow you to control technical aspects, like the initial capacity, and
 ordering of the underlying <code>Map</code> implementation. The iteration order of the <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> will be
 the same as of the underlying <code>Map</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>directMap</code> - The map that the instance will use directly as backing storage; possibly will be modified,
                  even when you only read the <a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a>! Must allow any kind of object as value,
                  including <code>null</code>! Supporting <code>null</code> keys is not needed.</dd>
<dd><code>overloadDistinction</code> - To avoid ambiguity with other overloads; the value is unused.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.30</dd>
</dl>
</li>
</ul>
<a name="SimpleHash-java.util.Map-freemarker.template.ObjectWrapper-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SimpleHash</h4>
<pre>public&nbsp;SimpleHash(java.util.Map&nbsp;map,
                  <a href="../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;wrapper)</pre>
<div class="block">Creates a new hash by shallow-coping (possibly cloning) the underlying map; in many applications you should use
 <a href="../../freemarker/template/DefaultMapAdapter.html" title="class in freemarker.template"><code>DefaultMapAdapter</code></a> instead.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - The Map to use for the key/value pairs. It makes a copy for internal use. If the map implements the
            <code>SortedMap</code> interface, the internal copy will be a <code>TreeMap</code>, otherwise it will be a</dd>
<dd><code>wrapper</code> - The object wrapper to use to wrap contained objects into <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a> instances. Using
            <code>null</code> is deprecated but allowed, in which case the deprecated default wrapper set in
            <a href="../../freemarker/template/WrappingTemplateModel.html#setDefaultObjectWrapper-freemarker.template.ObjectWrapper-"><code>WrappingTemplateModel.setDefaultObjectWrapper(ObjectWrapper)</code></a> is used.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="copyMap-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyMap</h4>
<pre>protected&nbsp;java.util.Map&nbsp;copyMap(java.util.Map&nbsp;map)</pre>
</li>
</ul>
<a name="put-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;void&nbsp;put(java.lang.String&nbsp;key,
                java.lang.Object&nbsp;value)</pre>
<div class="block">Adds a key-value entry to this hash.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - The name by which the object is identified in the template.</dd>
<dd><code>value</code> - The value to which the name will be associated. This will only be wrapped to <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>
            lazily when it's first read.</dd>
</dl>
</li>
</ul>
<a name="put-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>public&nbsp;void&nbsp;put(java.lang.String&nbsp;key,
                boolean&nbsp;b)</pre>
<div class="block">Puts a boolean in the map</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the name by which the resulting <tt>TemplateModel</tt>
 is identified in the template.</dd>
<dd><code>b</code> - the boolean to store.</dd>
</dl>
</li>
</ul>
<a name="get-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;get(java.lang.String&nbsp;key)
                  throws <a href="../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../freemarker/template/TemplateHashModel.html#get-java.lang.String-">TemplateHashModel</a></code></span></div>
<div class="block">Gets a <tt>TemplateModel</tt> from the hash.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateHashModel.html#get-java.lang.String-">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the name by which the <tt>TemplateModel</tt>
 is identified in the template.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <tt>TemplateModel</tt> referred to by the key,
 or null if not found.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
</dl>
</li>
</ul>
<a name="containsKey-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsKey</h4>
<pre>public&nbsp;boolean&nbsp;containsKey(java.lang.String&nbsp;key)</pre>
<div class="block">Tells if the map contains a key or not, regardless if the associated value is <code>null</code> or not.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.20</dd>
</dl>
</li>
</ul>
<a name="remove-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;remove(java.lang.String&nbsp;key)</pre>
<div class="block">Removes the given key from the underlying map.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key to be removed</dd>
</dl>
</li>
</ul>
<a name="putAll-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putAll</h4>
<pre>public&nbsp;void&nbsp;putAll(java.util.Map&nbsp;m)</pre>
<div class="block">Adds all the key/value entries in the map</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>m</code> - the map with the entries to add, the keys are assumed to be strings.</dd>
</dl>
</li>
</ul>
<a name="toMap--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toMap</h4>
<pre>public&nbsp;java.util.Map&nbsp;toMap()
                    throws <a href="../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
<div class="block">Note that this method creates and returns a deep-copy of the underlying hash used
 internally. This could be a gotcha for some people
 at some point who want to alter something in the data model,
 but we should maintain our immutability semantics (at least using default SimpleXXX wrappers) 
 for the data model. It will recursively unwrap the stuff in the underlying container.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Returns the <code>toString()</code> of the underlying <code>Map</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="size--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateHashModelEx.html#size--">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template">TemplateHashModelEx</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of key/value mappings in the hash.</dd>
</dl>
</li>
</ul>
<a name="isEmpty--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateHashModel.html#isEmpty--">isEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a></code></dd>
</dl>
</li>
</ul>
<a name="keys--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keys</h4>
<pre>public&nbsp;<a href="../../freemarker/template/TemplateCollectionModel.html" title="interface in freemarker.template">TemplateCollectionModel</a>&nbsp;keys()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateHashModelEx.html#keys--">keys</a></code>&nbsp;in interface&nbsp;<code><a href="../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template">TemplateHashModelEx</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection containing the keys in the hash. Every element of 
      the returned collection must implement the <a href="../../freemarker/template/TemplateScalarModel.html" title="interface in freemarker.template"><code>TemplateScalarModel</code></a>
      (as the keys of hashes are always strings).</dd>
</dl>
</li>
</ul>
<a name="values--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre>public&nbsp;<a href="../../freemarker/template/TemplateCollectionModel.html" title="interface in freemarker.template">TemplateCollectionModel</a>&nbsp;values()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateHashModelEx.html#values--">values</a></code>&nbsp;in interface&nbsp;<code><a href="../../freemarker/template/TemplateHashModelEx.html" title="interface in freemarker.template">TemplateHashModelEx</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection containing the values in the hash. The elements of the
 returned collection can be any kind of <a href="../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s.</dd>
</dl>
</li>
</ul>
<a name="keyValuePairIterator--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keyValuePairIterator</h4>
<pre>public&nbsp;<a href="../../freemarker/template/TemplateHashModelEx2.KeyValuePairIterator.html" title="interface in freemarker.template">TemplateHashModelEx2.KeyValuePairIterator</a>&nbsp;keyValuePairIterator()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../freemarker/template/TemplateHashModelEx2.html#keyValuePairIterator--">keyValuePairIterator</a></code>&nbsp;in interface&nbsp;<code><a href="../../freemarker/template/TemplateHashModelEx2.html" title="interface in freemarker.template">TemplateHashModelEx2</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The iterator that walks through the key-value pairs in the hash. Not <code>null</code>.</dd>
</dl>
</li>
</ul>
<a name="synchronizedWrapper--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>synchronizedWrapper</h4>
<pre>public&nbsp;<a href="../../freemarker/template/SimpleHash.html" title="class in freemarker.template">SimpleHash</a>&nbsp;synchronizedWrapper()</pre>
</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/SimpleHash.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../freemarker/template/SimpleDate.html" title="class in freemarker.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../freemarker/template/SimpleList.html" title="class in freemarker.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?freemarker/template/SimpleHash.html" target="_top">Frames</a></li>
<li><a href="SimpleHash.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>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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>
