Uses of Interface freemarker.ext.util.WrapperTemplateModel (FreeMarker 2.3.23 API)
Date: 2015-07-05

## Uses of Interface
freemarker.ext.util.WrapperTemplateModel

- Packages that use WrapperTemplateModel
  Package | Description
  --- | ---
  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.template | The fundamental, most commonly used API-s of FreeMarker; start with `Configuration` (see also the Getting Stared in the Manual.)

- - ### Uses of WrapperTemplateModel in freemarker.ext.beans

    Classes in freemarker.ext.beans that implement WrapperTemplateModel
    Modifier and Type | Class and Description
    --- | ---
    `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 WrapperTemplateModel in freemarker.ext.dom

    Classes in freemarker.ext.dom that implement WrapperTemplateModel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `NodeModel` A base class for wrapping a W3C DOM Node as a FreeMarker template model.

  - ### Uses of WrapperTemplateModel in freemarker.ext.jython

    Classes in freemarker.ext.jython that implement WrapperTemplateModel
    Modifier and Type | Class and Description
    --- | ---
    `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 WrapperTemplateModel in freemarker.template

    Classes in freemarker.template that implement WrapperTemplateModel
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultArrayAdapter` Adapts an `array` of a non-primitive elements to the corresponding `TemplateModel` interface(s), most importantly to `TemplateHashModelEx`.
    `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`.