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.)-
InterfaceDescriptionA
TemplateModel
that can be unwrapped and then it considers a provided desired (hint) class.Used for theattempt_exception_reported
configuration setting.Adds an extra getter method toTemplateHashModel
that can return different result thanTemplateHashModel.get(String)
, knowing that the result of it will be called as a method.Maps Java objects to the type-system of FreeMarker Template Language (see theTemplateModel
interfaces).Experimental - subject to change: Adds functionality toObjectWrapper
that creates a plain Java object from aTemplateModel
."boolean" template language data type; same as in Java; eithertrue
orfalse
."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."collection" template language data type: Adds size/emptiness querybility toTemplateCollectionModel
."date", "time" and "date-time" template language data types: corresponds toDate
.Represents the nested content of a directive (TemplateDirectiveModel
) invocation."directive" template language data type: used as user-defined directives (much like macros) in templates.Used for thetemplate_exception_handler
configuration setting."hash" template language data type: an object that contains other objects accessible through string keys (sub-variable names)."extended hash" template language data type; extendsTemplateHashModel
by allowing iterating through its keys and values.Adds key-value pair listing capability toTemplateHashModelEx
.A key-value pair in a hash; used forTemplateHashModelEx2.KeyValuePairIterator
.Iterates over the key-value pairs in a hash.Deprecated."extended method" template language data type: Objects that act like functions.The common super-interface of the interfaces that stand for the FreeMarker Template Language (FTL) data types.Implemented by classes that serve as adapters for template model objects in some other object model.Used to iterate over a set of template models once; usually returned fromTemplateCollectionModel.iterator()
.ATemplateModel
on which the?api
operation can be applied."node" template language data type: an object that is a node in a tree.ATemplateNodeModel
that supports navigating to the previous and next sibling nodes."number" template language data type; an object that stores a number."string" template language data-type; like in Java, an unmodifiable UNICODE character sequence."sequence" template language data type; an object that contains other objects accessible through an integer 0-based index."transform" template language data type: user-defined directives (much like macros) specialized on filtering output; you should rather use the newerTemplateDirectiveModel
instead.An interface that can be implemented by writers returned fromTemplateTransformModel.getWriter(java.io.Writer, java.util.Map)
. -
ClassDescriptionThe main entry point into the FreeMarker API; encapsulates the configuration settings of FreeMarker, also serves as a central template-loading and caching service.Adapts an
array
of a non-primitive elements to the correspondingTemplateModel
interface(s), most importantly toTemplateHashModelEx
.Adapts anEnumeration
to the correspondingTemplateModel
interface(s), most importantly toTemplateCollectionModel
.Adapts anIterable
to the correspondingTemplateModel
interface(s), most importantly toTemplateCollectionModel
.Adapts anIterator
to the correspondingTemplateModel
interface(s), most importantly toTemplateCollectionModel
.Adapts aList
to the correspondingTemplateModel
interface(s), most importantly toTemplateSequenceModel
.Adapts aMap
to the correspondingTemplateModel
interface(s), most importantly toTemplateHashModelEx
.Adapts a non-List
JavaCollection
to the correspondingTemplateModel
interface(s), most importantly toTemplateCollectionModelEx
.The default implementation of theObjectWrapper
interface.Gets/creates aDefaultObjectWrapper
singleton instance that's already configured as specified in the properties of this object; this is recommended over using theDefaultObjectWrapper
constructors.HoldsDefaultObjectWrapper
configuration settings and defines their defaults.An abstract base class for scalars that vary by locale.Implementation ofTemplateHashModelEx2.KeyValuePairIterator
for aTemplateHashModelEx2
that wraps or otherwise uses aMap
internally.A concrete implementation ofLocalizedString
that gets a localized string from aResourceBundle
A simple implementation ofTemplateCollectionModel
.A simple implementation of theTemplateDateModel
interface.A simple implementation of theTemplateHashModelEx
interface, using its own underlyingMap
orSortedMap
for storing the hash entries.Deprecated.UseSimpleSequence
instead.A simple implementation of theTemplateNumberModel
interface.A restricted object wrapper that will not expose arbitrary object, just those that directly correspond to theTemplateModel
sub-interfaces (String
,Map
and such).A simple implementation of theTemplateScalarModel
interface, using aString
.A simple implementation of theTemplateSequenceModel
interface, using its own underlyingList
for storing the list items.Stores an already parsed template, ready to be processed (rendered) for unlimited times, possibly from multiple threads.A sequence that wraps aList
ofTemplateModel
-s.Represents a version number plus the further qualifiers and build info.Convenience base-class for containers that wrap their contained arbitrary Java objects intoTemplateModel
instances. -
ExceptionDescriptionIndicates that the template name given was malformed according the
TemplateNameFormat
in use.Thrown byMethodCallAwareTemplateHashModel.getBeforeMethodCall(String)
; see there.Thrown by theTemplate
constructors that specify a non-null
encoding whoch doesn't match the encoding specified in the#ftl
header of the template.Runtime exception in a template (as opposed to a parsing-time exception:ParseException
).ObjectWrapper
-s may throw this when wrapping/unwrapping fails, orTemplateModel
methods throw this if the requested data can't be retrieved.Thrown whenConfiguration.getTemplate(String)
(or similar) doesn't find a template.
TemplateMethodModelEx
instead.