## Uses of Interface
freemarker.template.TemplateHashModelEx

Packages that use TemplateHashModelEx
freemarker.core: The seldom used or advanced parts of the fundamental FreeMarker API, compared to `freemarker.template`.
freemarker.ext.beans: The `default object wrapper` of FreeMarker uses this to expose Java Beans and POJO-s to templates, but it can also be used in itself as a better alternative `ObjectWrapper`.
freemarker.ext.jython: Exposes Jython objects to templates.
freemarker.ext.rhino: Exposes Rhino (ECMAScript) objects to templates.
freemarker.ext.servlet: Servlet for legacy "Model 2" frameworks that allows using FreeMarker templates instead of JSP as the MVC View (see in the Manual).
freemarker.template: The fundamental, most commonly used API-s of FreeMarker; start with `Configuration` (see also the Getting Stared in the Manual.)
freemarker.template.utility: Various classes used by core FreeMarker code but might be useful outside of it too.

### Uses of TemplateHashModelEx in freemarker.core

Classes in freemarker.core that implement TemplateHashModelEx
`class` `Environment.Namespace`

### Uses of TemplateHashModelEx in freemarker.ext.beans

Classes in freemarker.ext.beans that implement TemplateHashModelEx
`class` `ArrayModel` A class that will wrap an arbitrary array into `TemplateCollectionModel` and `TemplateSequenceModel` interfaces.
`class` `BeanModel` A class that will wrap an arbitrary object into `TemplateHashModel` interface allowing calls to arbitrary property getters and invocation of accessible methods on the object from a template using the `object.foo` to access properties and `object.bar(arg1, arg2)` to invoke methods on it.
`class` `BooleanModel` A class that will wrap instances of `Boolean` into a `TemplateBooleanModel`.
`class` `CollectionModel` A special case of `BeanModel` that can wrap Java collections and that implements the `TemplateCollectionModel` in order to be usable in a `<#list>` block.
`class` `DateModel` Wraps arbitrary subclass of `Date` into a reflective model.
`class` `EnumerationModel` A class that adds `TemplateModelIterator` functionality to the `Enumeration` interface implementers.
`class` `IteratorModel` A class that adds `TemplateModelIterator` functionality to the `Iterator` interface implementers.
`class` `MapModel` A special case of `BeanModel` that adds implementation for `TemplateMethodModelEx` on map objects that is a shortcut for the `Map.get()` method.
`class` `NumberModel` Wraps arbitrary subclass of `Number` into a reflective model.
`class` `ResourceBundleModel` A hash model that wraps a resource bundle.
`class` `SimpleMapModel` Model used by `BeansWrapper` when `simpleMapWrapper` mode is enabled.
`class` `StringModel` Subclass of `BeanModel` that exposes the return value of the `Object.toString()` method through the `TemplateScalarModel` interface.

### Uses of TemplateHashModelEx in freemarker.ext.jython

Classes in freemarker.ext.jython that implement TemplateHashModelEx
`class` `JythonHashModel` Model for Jython dictionaries (`PyDictionary` and `PyStringMap`).

### Uses of TemplateHashModelEx in freemarker.ext.rhino

Classes in freemarker.ext.rhino that implement TemplateHashModelEx
`class` `RhinoFunctionModel`
`class` `RhinoScriptableModel`

### Uses of TemplateHashModelEx in freemarker.ext.servlet

Classes in freemarker.ext.servlet that implement TemplateHashModelEx
`class` `AllHttpScopesHashModel` An extension of SimpleHash that looks up keys in the hash, then in the request, session, and servlet context scopes.
`class` `HttpRequestHashModel` TemplateHashModel wrapper for a HttpServletRequest attributes.
`class` `HttpRequestParametersHashModel` TemplateHashModel wrapper for a HttpServletRequest parameters.

### Uses of TemplateHashModelEx in freemarker.template

Subinterfaces of TemplateHashModelEx in freemarker.template
`interface` `TemplateHashModelEx2` Adds key-value pair listing capability to `TemplateHashModelEx`.

Classes in freemarker.template that implement TemplateHashModelEx
`class` `DefaultMapAdapter` Adapts a `Map` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateHashModelEx`.
`class` `SimpleHash` A simple implementation of the `TemplateHashModelEx` interface, using its own underlying `Map` or `SortedMap` for storing the hash entries.

Methods in freemarker.template with parameters of type TemplateHashModelEx
`void` Configuration.`setAllSharedVariables(TemplateHashModelEx hash)` Adds all object in the hash as shared variable to the configuration; it's like doing several `Configuration.setSharedVariable(String, Object)` calls, one for each hash entry.

### Uses of TemplateHashModelEx in freemarker.template.utility

Fields in freemarker.template.utility declared as TemplateHashModelEx
`static TemplateHashModelEx` Constants.`EMPTY_HASH`