## Uses of Interface
freemarker.template.TemplateCollectionModel

Packages that use TemplateCollectionModel
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.jdom: Deprecated, use W3C DOM (`freemarker.ext.dom`) instead; Exposes JDOM XML nodes to templates.
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 TemplateCollectionModel in freemarker.ext.beans

Classes in freemarker.ext.beans that implement TemplateCollectionModel
`class` `ArrayModel` A class that will wrap an arbitrary array into `TemplateCollectionModel` and `TemplateSequenceModel` interfaces.
`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` `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.

Methods in freemarker.ext.beans that return TemplateCollectionModel
`TemplateCollectionModel` SimpleMapModel.`keys()`
`TemplateCollectionModel` BeanModel.`keys()`
`TemplateCollectionModel` SimpleMapModel.`values()`
`TemplateCollectionModel` BeanModel.`values()`

### Uses of TemplateCollectionModel in freemarker.ext.jdom

Classes in freemarker.ext.jdom that implement TemplateCollectionModel
`class` `NodeListModel` Deprecated. Use `NodeModel` instead.

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

Classes in freemarker.ext.jython that implement TemplateCollectionModel
`class` `JythonSequenceModel` Model for Jython sequence objects (`PySequence` descendants).

Methods in freemarker.ext.jython that return TemplateCollectionModel
`TemplateCollectionModel` JythonHashModel.`keys()` Returns either `object.__findattr__("keys").__call__()` or `object.__findattr__("keySet").__call__()`.
`TemplateCollectionModel` JythonHashModel.`values()` Returns `object.__findattr__("values").__call__()`.

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

Methods in freemarker.ext.rhino that return TemplateCollectionModel
`TemplateCollectionModel` RhinoScriptableModel.`keys()`
`TemplateCollectionModel` RhinoScriptableModel.`values()`

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

Methods in freemarker.ext.servlet that return TemplateCollectionModel
`TemplateCollectionModel` HttpRequestParametersHashModel.`keys()`
`TemplateCollectionModel` HttpRequestHashModel.`keys()`
`TemplateCollectionModel` HttpRequestParametersHashModel.`values()`
`TemplateCollectionModel` HttpRequestHashModel.`values()`

### Uses of TemplateCollectionModel in freemarker.template

Subinterfaces of TemplateCollectionModel in freemarker.template
`interface` `TemplateCollectionModelEx` Experimental - subject to change: "extended collection" template language data type: Adds size/emptiness querybility and "contains" test to `TemplateCollectionModel`.

Classes in freemarker.template that implement TemplateCollectionModel
`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` `DefaultNonListCollectionAdapter` Experimental - subject to change: Adapts a non-`List` Java `Collection` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModelEx`.
`class` `SimpleCollection` A simple implementation of `TemplateCollectionModel`.

Methods in freemarker.template that return TemplateCollectionModel
`TemplateCollectionModel` TemplateHashModelEx.`keys()`
`TemplateCollectionModel` SimpleHash.`keys()`
`TemplateCollectionModel` DefaultMapAdapter.`keys()`
`TemplateCollectionModel` TemplateHashModelEx.`values()`
`TemplateCollectionModel` SimpleHash.`values()`
`TemplateCollectionModel` DefaultMapAdapter.`values()`

Constructors in freemarker.template with parameters of type TemplateCollectionModel
Constructor and Description
`SimpleSequence(TemplateCollectionModel tcm)` Constructs a simple sequence from the passed collection model, which shouldn't be added to later.

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

Fields in freemarker.template.utility declared as TemplateCollectionModel
`static TemplateCollectionModel` Constants.`EMPTY_COLLECTION`