freemarker.template (FreeMarker 2.3.35 API)
Description: declaration: package: freemarker.template

# Package freemarker.template

package freemarker.template
The fundamental, most commonly used API-s of FreeMarker; start with `Configuration` (see also the Getting Started in the Manual.)

- Interface Summary
  Interface
  Description
  AdapterTemplateModel
  A `TemplateModel` that can be unwrapped and then it considers a provided desired (hint) class.
  AttemptExceptionReporter
  Used for the `attempt_exception_reported` configuration setting.
  MethodCallAwareTemplateHashModel
  Adds an extra getter method to `TemplateHashModel` that can return different result than `TemplateHashModel.get(String)`, knowing that the result of it will be called as a method.
  ObjectWrapper
  Maps Java objects to the type-system of FreeMarker Template Language (see the `TemplateModel` interfaces).
  ObjectWrapperAndUnwrapper
  Experimental - subject to change: Adds functionality to `ObjectWrapper` that creates a plain Java object from a `TemplateModel`.
  TemplateBooleanModel
  "boolean" template language data type; same as in Java; either `true` or `false`.
  TemplateCollectionModel
  "collection" template language data type: a collection of values that can be enumerated, but can't be or not meant to be accessed by index or key, nor the number of elements in it is known.
  TemplateCollectionModelEx
  "collection" template language data type: Adds size/emptiness querybility to `TemplateCollectionModel`.
  TemplateDateModel
  "date", "time" and "date-time" template language data types: corresponds to `Date`.
  TemplateDirectiveBody
  Represents the nested content of a directive (`TemplateDirectiveModel`) invocation.
  TemplateDirectiveModel
  "directive" template language data type: used as user-defined directives (much like macros) in templates.
  TemplateExceptionHandler
  Used for the `template_exception_handler` configuration setting.
  TemplateHashModel
  "hash" template language data type: an object that contains other objects accessible through string keys (sub-variable names).
  TemplateHashModelEx
  "extended hash" template language data type; extends `TemplateHashModel` by allowing iterating through its keys and values.
  TemplateHashModelEx2
  Adds key-value pair listing capability to `TemplateHashModelEx`.
  TemplateHashModelEx2.KeyValuePair
  A key-value pair in a hash; used for `TemplateHashModelEx2.KeyValuePairIterator`.
  TemplateHashModelEx2.KeyValuePairIterator
  Iterates over the key-value pairs in a hash.
  TemplateMethodModel
  Deprecated.
  Use `TemplateMethodModelEx` instead.
  TemplateMethodModelEx
  "extended method" template language data type: Objects that act like functions.
  TemplateModel
  The common super-interface of the interfaces that stand for the FreeMarker Template Language (FTL) data types.
  TemplateModelAdapter
  Implemented by classes that serve as adapters for template model objects in some other object model.
  TemplateModelIterator
  Used to iterate over a set of template models once; usually returned from `TemplateCollectionModel.iterator()`.
  TemplateModelWithAPISupport
  A `TemplateModel` on which the `?api` operation can be applied.
  TemplateNodeModel
  "node" template language data type: an object that is a node in a tree.
  TemplateNodeModelEx
  A `TemplateNodeModel` that supports navigating to the previous and next sibling nodes.
  TemplateNumberModel
  "number" template language data type; an object that stores a number.
  TemplateScalarModel
  "string" template language data-type; like in Java, an unmodifiable UNICODE character sequence.
  TemplateSequenceModel
  "sequence" template language data type; an object that contains other objects accessible through an integer 0-based index.
  TemplateTransformModel
  "transform" template language data type: user-defined directives (much like macros) specialized on filtering output; you should rather use the newer `TemplateDirectiveModel` instead.
  TransformControl
  An interface that can be implemented by writers returned from `TemplateTransformModel.getWriter(java.io.Writer, java.util.Map)`.
- Class Summary
  Class
  Description
  Configuration
  The main entry point into the FreeMarker API; encapsulates the configuration settings of FreeMarker, also serves as a central template-loading and caching service.
  DefaultArrayAdapter
  Adapts an `array` of a non-primitive elements to the corresponding `TemplateModel` interface(s), most importantly to `TemplateHashModelEx`.
  DefaultEnumerationAdapter
  Adapts an `Enumeration` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModel`.
  DefaultIterableAdapter
  Adapts an `Iterable` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModel`.
  DefaultIteratorAdapter
  Adapts an `Iterator` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModel`.
  DefaultListAdapter
  Adapts a `List` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateSequenceModel`.
  DefaultMapAdapter
  Adapts a `Map` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateHashModelEx`.
  DefaultNonListCollectionAdapter
  Adapts a non-`List` Java `Collection` to the corresponding `TemplateModel` interface(s), most importantly to `TemplateCollectionModelEx`.
  DefaultObjectWrapper
  The default implementation of the `ObjectWrapper` interface.
  DefaultObjectWrapperBuilder
  Gets/creates a `DefaultObjectWrapper` singleton instance that's already configured as specified in the properties of this object; this is recommended over using the `DefaultObjectWrapper` constructors.
  DefaultObjectWrapperConfiguration
  Holds `DefaultObjectWrapper` configuration settings and defines their defaults.
  LocalizedString
  An abstract base class for scalars that vary by locale.
  MapKeyValuePairIterator
  Implementation of `TemplateHashModelEx2.KeyValuePairIterator` for a `TemplateHashModelEx2` that wraps or otherwise uses a `Map` internally.
  ResourceBundleLocalizedString
  A concrete implementation of `LocalizedString` that gets a localized string from a `ResourceBundle`
  SimpleCollection
  A simple implementation of `TemplateCollectionModel`.
  SimpleDate
  A simple implementation of the `TemplateDateModel` interface.
  SimpleHash
  A simple implementation of the `TemplateHashModelEx` interface, using its own underlying `Map` or `SortedMap` for storing the hash entries.
  SimpleList
  Deprecated.
  Use `SimpleSequence` instead.
  SimpleNumber
  A simple implementation of the `TemplateNumberModel` interface.
  SimpleObjectWrapper
  A restricted object wrapper that will not expose arbitrary object, just those that directly correspond to the `TemplateModel` sub-interfaces (`String`, `Map` and such).
  SimpleScalar
  A simple implementation of the `TemplateScalarModel` interface, using a `String`.
  SimpleSequence
  A simple implementation of the `TemplateSequenceModel` interface, using its own underlying `List` for storing the list items.
  Template
  Stores an already parsed template, ready to be processed (rendered) for unlimited times, possibly from multiple threads.
  TemplateModelListSequence
  A sequence that wraps a `List` of `TemplateModel`-s.
  Version
  Represents a version number plus the further qualifiers and build info.
  WrappingTemplateModel
  Convenience base-class for containers that wrap their contained arbitrary Java objects into `TemplateModel` instances.
- Exception Summary
  Exception
  Description
  MalformedTemplateNameException
  Indicates that the template name given was malformed according the `TemplateNameFormat` in use.
  MethodCallAwareTemplateHashModel.ShouldNotBeGetAsMethodException
  Thrown by `MethodCallAwareTemplateHashModel.getBeforeMethodCall(String)`; see there.
  Template.WrongEncodingException
  Thrown by the `Template` constructors that specify a non-`null` encoding whoch doesn't match the encoding specified in the `#ftl` header of the template.
  TemplateException
  Runtime exception in a template (as opposed to a parsing-time exception: `ParseException`).
  TemplateModelException
  `ObjectWrapper`-s may throw this when wrapping/unwrapping fails, or `TemplateModel` methods throw this if the requested data can't be retrieved.
  TemplateNotFoundException
  Thrown when `Configuration.getTemplate(String)` (or similar) doesn't find a template.