## Uses of Interface
freemarker.template.AdapterTemplateModel

Packages that use AdapterTemplateModel
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.dom: Exposes DOM XML nodes to templates as easily traversable trees; see in the Manual.
freemarker.ext.jython: Exposes Jython objects to templates.
freemarker.ext.rhino: Exposes Rhino (ECMAScript) objects to templates.
freemarker.template: The fundamental, most commonly used API-s of FreeMarker; start with `Configuration` (see also the Getting Stared in the Manual.)

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

Classes in freemarker.ext.beans that implement AdapterTemplateModel
`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 AdapterTemplateModel in freemarker.ext.dom

Classes in freemarker.ext.dom that implement AdapterTemplateModel
`class` `NodeModel` A base class for wrapping a single W3C DOM Node as a FreeMarker template model.

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

Classes in freemarker.ext.jython that implement AdapterTemplateModel
`class` `JythonHashModel` Model for Jython dictionaries (`PyDictionary` and `PyStringMap`).
`class` `JythonModel` Generic model for arbitrary Jython objects.
`class` `JythonNumberModel` Model for Jython numeric objects (`PyInteger`, `PyLong`, `PyFloat`).
`class` `JythonSequenceModel` Model for Jython sequence objects (`PySequence` descendants).

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

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

### Uses of AdapterTemplateModel in freemarker.template

Classes in freemarker.template that implement AdapterTemplateModel
`class` `DefaultArrayAdapter` Adapts an `array` of a non-primitive elements to the corresponding `TemplateModel` interface(s), most importantly to `TemplateHashModelEx`.
`class` `DefaultIterableAdapter` Adapts an `Iterable` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModel`.
`class` `DefaultIteratorAdapter` Adapts an `Iterator` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModel`.
`class` `DefaultListAdapter` Adapts a `List` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateSequenceModel`.
`class` `DefaultMapAdapter` Adapts a `Map` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateHashModelEx`.
`class` `DefaultNonListCollectionAdapter` Experimental - subject to change: Adapts a non-`List` Java `Collection` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModelEx`.