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 SummaryInterfaceDescriptionA
TemplateModelthat can be unwrapped and then it considers a provided desired (hint) class.Used for theattempt_exception_reportedconfiguration setting.Adds an extra getter method toTemplateHashModelthat 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 theTemplateModelinterfaces).Experimental - subject to change: Adds functionality toObjectWrapperthat creates a plain Java object from aTemplateModel."boolean" template language data type; same as in Java; eithertrueorfalse."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_handlerconfiguration 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; extendsTemplateHashModelby 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().ATemplateModelon which the?apioperation can be applied."node" template language data type: an object that is a node in a tree.ATemplateNodeModelthat 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 newerTemplateDirectiveModelinstead.An interface that can be implemented by writers returned fromTemplateTransformModel.getWriter(java.io.Writer, java.util.Map). -
Class SummaryClassDescriptionThe 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
arrayof a non-primitive elements to the correspondingTemplateModelinterface(s), most importantly toTemplateHashModelEx.Adapts anEnumerationto the correspondingTemplateModelinterface(s), most importantly toTemplateCollectionModel.Adapts anIterableto the correspondingTemplateModelinterface(s), most importantly toTemplateCollectionModel.Adapts anIteratorto the correspondingTemplateModelinterface(s), most importantly toTemplateCollectionModel.Adapts aListto the correspondingTemplateModelinterface(s), most importantly toTemplateSequenceModel.Adapts aMapto the correspondingTemplateModelinterface(s), most importantly toTemplateHashModelEx.Adapts a non-ListJavaCollectionto the correspondingTemplateModelinterface(s), most importantly toTemplateCollectionModelEx.The default implementation of theObjectWrapperinterface.Gets/creates aDefaultObjectWrappersingleton instance that's already configured as specified in the properties of this object; this is recommended over using theDefaultObjectWrapperconstructors.HoldsDefaultObjectWrapperconfiguration settings and defines their defaults.An abstract base class for scalars that vary by locale.Implementation ofTemplateHashModelEx2.KeyValuePairIteratorfor aTemplateHashModelEx2that wraps or otherwise uses aMapinternally.A concrete implementation ofLocalizedStringthat gets a localized string from aResourceBundleA simple implementation ofTemplateCollectionModel.A simple implementation of theTemplateDateModelinterface.A simple implementation of theTemplateHashModelExinterface, using its own underlyingMaporSortedMapfor storing the hash entries.Deprecated.UseSimpleSequenceinstead.A simple implementation of theTemplateNumberModelinterface.A restricted object wrapper that will not expose arbitrary object, just those that directly correspond to theTemplateModelsub-interfaces (String,Mapand such).A simple implementation of theTemplateScalarModelinterface, using aString.A simple implementation of theTemplateSequenceModelinterface, using its own underlyingListfor 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 aListofTemplateModel-s.Represents a version number plus the further qualifiers and build info.Convenience base-class for containers that wrap their contained arbitrary Java objects intoTemplateModelinstances. -
Exception SummaryExceptionDescriptionIndicates that the template name given was malformed according the
TemplateNameFormatin use.Thrown byMethodCallAwareTemplateHashModel.getBeforeMethodCall(String); see there.Thrown by theTemplateconstructors that specify a non-nullencoding whoch doesn't match the encoding specified in the#ftlheader 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, orTemplateModelmethods throw this if the requested data can't be retrieved.Thrown whenConfiguration.getTemplate(String)(or similar) doesn't find a template.
TemplateMethodModelExinstead.