Uses of Interface freemarker.template.TemplateModelWithAPISupport (FreeMarker 2.3.23 API)
Date: 2015-07-05

## Uses of Interface
freemarker.template.TemplateModelWithAPISupport

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

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

    Classes in freemarker.ext.beans that implement TemplateModelWithAPISupport
    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 TemplateModelWithAPISupport in freemarker.template

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