Package | Description |
---|---|
freemarker.core |
The seldom used or advanced parts of the fundamental FreeMarker API, compared to
freemarker.template . |
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.dom |
Exposes DOM XML nodes to templates as easily traversable trees;
see in the Manual.
|
freemarker.ext.jdom |
Deprecated, use W3C DOM (
freemarker.ext.dom ) instead;
Exposes JDOM XML nodes to templates. |
freemarker.ext.jsp |
Classes for two-way FreeMarker-JSP integration.
|
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.ext.util |
Various classes used by
freemarker.ext but might be useful outside it too. |
freemarker.ext.xml |
Deprecated, use W3C DOM with
freemarker.ext.dom instead;
Exposes XML from DOM, dom4j or JDOM nodes, uniformly. |
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.
|
Modifier and Type | Class | Description |
---|---|---|
class |
Environment.Namespace |
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
Environment.getGlobalVariable(java.lang.String name) |
Returns the globally visible variable of the given name (or null).
|
TemplateModel |
Environment.getLocalVariable(java.lang.String name) |
Returns the loop or macro local variable corresponding to this
variable name.
|
TemplateModel |
Environment.getVariable(java.lang.String name) |
Returns the variable that is visible in this context, or
null if the variable is not found. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
Environment.applyEqualsOperator(TemplateModel leftValue,
TemplateModel rightValue) |
Compares two
TemplateModel -s according the rules of the FTL "==" operator. |
boolean |
Environment.applyEqualsOperatorLenient(TemplateModel leftValue,
TemplateModel rightValue) |
Compares two
TemplateModel -s according the rules of the FTL "==" operator, except that if the two types
are incompatible, they are treated as non-equal instead of throwing an exception. |
boolean |
Environment.applyGreaterThanOperator(TemplateModel leftValue,
TemplateModel rightValue) |
Compares two
TemplateModel -s according the rules of the FTL ">" operator. |
boolean |
Environment.applyLessThanOperator(TemplateModel leftValue,
TemplateModel rightValue) |
Compares two
TemplateModel -s according the rules of the FTL "<" operator. |
boolean |
Environment.applyLessThanOrEqualsOperator(TemplateModel leftValue,
TemplateModel rightValue) |
Compares two
TemplateModel -s according the rules of the FTL "<" operator. |
boolean |
Environment.applyWithGreaterThanOrEqualsOperator(TemplateModel leftValue,
TemplateModel rightValue) |
Compares two
TemplateModel -s according the rules of the FTL ">=" operator. |
void |
Environment.setGlobalVariable(java.lang.String name,
TemplateModel model) |
Sets a variable that is visible globally.
|
void |
Environment.setLocalVariable(java.lang.String name,
TemplateModel model) |
Sets a local variable (one effective only during a macro invocation).
|
void |
Environment.setVariable(java.lang.String name,
TemplateModel model) |
Sets a variable in the current namespace.
|
Modifier and Type | Class | 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 |
OverloadedMethodsModel |
Wraps a set of same-name overloaded methods behind
TemplateMethodModel interface,
like if it was a single method, chooses among them behind the scenes on call-time based on the argument values. |
class |
ResourceBundleModel |
A hash model that wraps a resource bundle.
|
class |
SimpleMapModel |
Model used by
BeansWrapper when simpleMapWrapper
mode is enabled. |
class |
SimpleMethodModel |
A class that will wrap a reflected method call into a
TemplateMethodModel interface. |
class |
StringModel |
Subclass of
BeanModel that exposes the return value of the Object.toString() method through the TemplateScalarModel
interface. |
Modifier and Type | Method | Description |
---|---|---|
protected TemplateModel |
BeansModelCache.create(java.lang.Object object) |
|
TemplateModel |
ArrayModel.get(int index) |
|
TemplateModel |
BeanModel.get(java.lang.String key) |
Uses Beans introspection to locate a property or method with name
matching the key name.
|
TemplateModel |
CollectionModel.get(int index) |
Retrieves the i-th object from the collection, wrapped as a TemplateModel.
|
TemplateModel |
OverloadedMethodsModel.get(int index) |
|
TemplateModel |
SimpleMapModel.get(java.lang.String key) |
|
TemplateModel |
SimpleMethodModel.get(int index) |
|
TemplateModel |
BeanModel.getAPI() |
|
TemplateModel |
SimpleMapModel.getAPI() |
|
protected TemplateModel |
BeansWrapper.getInstance(java.lang.Object object,
ModelFactory factory) |
Deprecated.
override
BeansWrapper.getModelFactory(Class) instead. Using this
method will now bypass wrapper caching (if it's enabled) and always
result in creation of a new wrapper. This method will be removed in 2.4 |
TemplateModel |
HashAdapter.getTemplateModel() |
|
protected TemplateModel |
BeanModel.invokeGenericGet(java.util.Map keyMap,
java.lang.Class clazz,
java.lang.String key) |
|
protected TemplateModel |
MapModel.invokeGenericGet(java.util.Map keyMap,
java.lang.Class clazz,
java.lang.String key) |
Overridden to invoke the generic get method by casting to Map instead of
through reflection - should yield better performance.
|
protected TemplateModel |
ResourceBundleModel.invokeGenericGet(java.util.Map keyMap,
java.lang.Class clazz,
java.lang.String key) |
Overridden to invoke the getObject method of the resource bundle.
|
TemplateModel |
EnumerationModel.next() |
Calls underlying
Enumeration.nextElement() and wraps the result. |
TemplateModel |
IteratorModel.next() |
Calls underlying
Iterator.next() and wraps the result. |
protected TemplateModel |
BeanModel.wrap(java.lang.Object obj) |
|
TemplateModel |
BeansWrapper.wrap(java.lang.Object object) |
Wraps the object with a template model that is most specific for the object's
class.
|
Modifier and Type | Method | Description |
---|---|---|
void |
BeansWrapper.setNullModel(TemplateModel nullModel) |
Deprecated.
Changing the
null model can cause a lot of confusion; don't do it. |
java.lang.Object |
BeansWrapper.tryUnwrapTo(TemplateModel model,
java.lang.Class targetClass) |
|
protected java.lang.Object |
BeanModel.unwrap(TemplateModel model) |
|
java.lang.Object |
BeansWrapper.unwrap(TemplateModel model) |
Attempts to unwrap a model into underlying object.
|
java.lang.Object |
BeansWrapper.unwrap(TemplateModel model,
java.lang.Class targetClass) |
Attempts to unwrap a model into an object of the desired class.
|
Modifier and Type | Class | Description |
---|---|---|
class |
NodeModel |
A base class for wrapping a W3C DOM Node as a FreeMarker template model.
|
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
NodeModel.exec(java.util.List args) |
|
TemplateModel |
XPathSupport.executeQuery(java.lang.Object context,
java.lang.String xpathQuery) |
|
TemplateModel |
NodeModel.get(int i) |
|
TemplateModel |
NodeModel.get(java.lang.String key) |
Modifier and Type | Class | Description |
---|---|---|
class |
NodeListModel |
Deprecated.
Use
NodeModel instead. |
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
NodeListModel.get(int i) |
Deprecated.
Retrieves the i-th element of the node list.
|
TemplateModel |
NodeListModel.get(java.lang.String key) |
Deprecated.
Provides node list traversal as well as special functions: filtering by name,
filtering by node type, shallow-copying, and duplicate removal.
|
Modifier and Type | Class | Description |
---|---|---|
class |
TaglibFactory |
A hash model associated with a servlet context that can load JSP tag libraries associated with that servlet context.
|
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
TaglibFactory.get(java.lang.String taglibUri) |
Retrieves a JSP tag library identified by an URI.
|
Modifier and Type | Class | Description |
---|---|---|
class |
JythonHashModel |
Model for Jython dictionaries (
PyDictionary
and PyStringMap ). |
class |
JythonModel |
Generic model for arbitrary Jython objects.
|
class |
JythonNumberModel |
Model for Jython numeric objects (
PyInteger , PyLong ,
PyFloat ). |
class |
JythonSequenceModel |
Model for Jython sequence objects (
PySequence descendants). |
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
JythonModel.get(java.lang.String key) |
Calls
PyObject.__findattr__(java.lang.String) , then if it
returns null calls PyObject.__finditem__(java.lang.String) . |
TemplateModel |
JythonSequenceModel.get(int index) |
Returns
PyObject.__finditem__(int) . |
TemplateModel |
JythonWrapper.wrap(java.lang.Object obj) |
Wraps the passed Jython object into a FreeMarker template model.
|
Modifier and Type | Method | Description |
---|---|---|
org.python.core.PyObject |
JythonWrapper.unwrap(TemplateModel model) |
Coerces a template model into a
PyObject . |
Modifier and Type | Class | Description |
---|---|---|
class |
RhinoFunctionModel |
|
class |
RhinoScriptableModel |
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
RhinoScriptableModel.get(int index) |
|
TemplateModel |
RhinoScriptableModel.get(java.lang.String key) |
|
TemplateModel |
RhinoWrapper.wrap(java.lang.Object obj) |
Modifier and Type | Class | Description |
---|---|---|
class |
AllHttpScopesHashModel |
An extension of SimpleHash that looks up keys in the hash, then in the
request, session, and servlet context scopes.
|
class |
HttpRequestHashModel |
TemplateHashModel wrapper for a HttpServletRequest attributes.
|
class |
HttpRequestParametersHashModel |
TemplateHashModel wrapper for a HttpServletRequest parameters.
|
class |
HttpSessionHashModel |
TemplateHashModel wrapper for a HttpSession attributes.
|
class |
IncludePage |
A model that when invoked with a 'path' parameter will perform a servlet
include.
|
class |
ServletContextHashModel |
TemplateHashModel wrapper for a ServletContext attributes.
|
Modifier and Type | Method | Description |
---|---|---|
protected TemplateModel |
FreemarkerServlet.createModel(ObjectWrapper objectWrapper,
javax.servlet.ServletContext servletContext,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
|
TemplateModel |
AllHttpScopesHashModel.get(java.lang.String key) |
|
TemplateModel |
HttpRequestHashModel.get(java.lang.String key) |
|
TemplateModel |
HttpRequestParametersHashModel.get(java.lang.String key) |
|
TemplateModel |
HttpSessionHashModel.get(java.lang.String key) |
|
TemplateModel |
ServletContextHashModel.get(java.lang.String key) |
Modifier and Type | Method | Description |
---|---|---|
void |
IncludePage.execute(Environment env,
java.util.Map params,
TemplateModel[] loopVars,
TemplateDirectiveBody body) |
|
protected void |
FreemarkerServlet.postTemplateProcess(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Template template,
TemplateModel data) |
Called after the execution returns from template.process().
|
protected boolean |
FreemarkerServlet.preTemplateProcess(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Template template,
TemplateModel data) |
Called before the execution is passed to template.process().
|
void |
AllHttpScopesHashModel.putUnlistedModel(java.lang.String key,
TemplateModel model) |
Stores a model in the hash so that it doesn't show up in keys()
and values() methods.
|
Modifier and Type | Interface | Description |
---|---|---|
interface |
WrapperTemplateModel |
A generic interface for template models that wrap some underlying
object, and wish to provide access to that wrapped object.
|
Modifier and Type | Method | Description |
---|---|---|
protected abstract TemplateModel |
ModelCache.create(java.lang.Object object) |
|
TemplateModel |
ModelFactory.create(java.lang.Object object,
ObjectWrapper wrapper) |
Create a wrapping model for the specified object that belongs to
the specified wrapper.
|
TemplateModel |
ModelCache.getInstance(java.lang.Object object) |
Modifier and Type | Class | Description |
---|---|---|
class |
NodeListModel |
Deprecated.
Use
NodeModel instead. |
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
NodeListModel.get(int index) |
Deprecated.
Selects a single node from this model's nodelist by its list index and
returns a new NodeListModel containing that single node.
|
TemplateModel |
NodeListModel.get(java.lang.String key) |
Deprecated.
Returns a new NodeListModel containing the nodes that result from applying
an operator to this model's nodes.
|
Modifier and Type | Interface | Description |
---|---|---|
interface |
AdapterTemplateModel |
A
TemplateModel that can be unwrapped and then it considers a provided desired (hint) class. |
interface |
TemplateBooleanModel |
"boolean" template language data type; same as in Java; either
true or false . |
interface |
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.
|
interface |
TemplateCollectionModelEx |
Experimental - subject to change: "extended collection" template language data type: Adds size/emptiness
querybility and "contains" test to
TemplateCollectionModel . |
interface |
TemplateDateModel |
"date", "time" and "date-time" template language data types: corresponds to
Date . |
interface |
TemplateDirectiveModel |
"directive" template language data type: used as user-defined directives
(much like macros) in templates.
|
interface |
TemplateHashModel |
"hash" template language data type: an object that contains other objects accessible through string keys
(sub-variable names).
|
interface |
TemplateHashModelEx |
"extended hash" template language data type; extends
TemplateHashModel by allowing
iterating through its keys and values. |
interface |
TemplateMethodModel |
Deprecated.
Use
TemplateMethodModelEx instead. This interface is from the old times when the only kind of
value you could pass in was string. |
interface |
TemplateMethodModelEx |
"extended method" template language data type: Objects that act like functions.
|
interface |
TemplateModelWithAPISupport |
Experimental - subject to change: A
TemplateModel on which the ?api operation can be applied. |
interface |
TemplateNodeModel |
"node" template language data type: an object that is a node in a tree.
|
interface |
TemplateNumberModel |
"number" template language data type; an object that stores a number.
|
interface |
TemplateScalarModel |
"string" template language data-type; like in Java, an unmodifiable UNICODE character sequence.
|
interface |
TemplateSequenceModel |
"sequence" template language data type; an object that contains other objects accessible through an integer 0-based
index.
|
interface |
TemplateTransformModel |
"transform" template language data type: user-defined directives
(much like macros) specialized on filtering output; you should rather use the newer
TemplateDirectiveModel
instead. |
Modifier and Type | Class | Description |
---|---|---|
class |
DefaultArrayAdapter |
Adapts an
array of a non-primitive elements to the corresponding TemplateModel interface(s), most
importantly to TemplateHashModelEx . |
class |
DefaultIteratorAdapter |
Adapts an
Iterator to the corresponding TemplateModel interface(s), most importantly to
TemplateCollectionModel . |
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 . |
class |
LocalizedString |
An abstract base class for scalars that vary by locale.
|
class |
ResourceBundleLocalizedString |
A concrete implementation of
LocalizedString that gets
a localized string from a ResourceBundle |
class |
SimpleCollection |
A simple implementation of
TemplateCollectionModel . |
class |
SimpleDate |
A simple implementation of the TemplateDateModel
interface.
|
class |
SimpleHash |
A simple implementation of the
TemplateHashModelEx interface, using its own underlying Map or
SortedMap for storing the hash entries. |
class |
SimpleList |
Deprecated.
Use SimpleSequence instead.
|
class |
SimpleNumber |
A simple implementation of the TemplateNumberModel
interface.
|
class |
SimpleScalar |
A simple implementation of the TemplateScalarModel
interface, using a String.
|
class |
SimpleSequence |
A simple implementation of the
TemplateSequenceModel interface, using its own underlying List for
storing the list items. |
class |
TemplateModelListSequence |
A sequence that wraps a
List of TemplateModel -s. |
Modifier and Type | Field | Description |
---|---|---|
static TemplateModel |
TemplateScalarModel.EMPTY_STRING |
A constant value to use as the empty string.
|
static TemplateModel |
TemplateModel.NOTHING |
A general-purpose object to represent nothing.
|
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
DefaultListAdapter.get(int index) |
|
TemplateModel |
DefaultMapAdapter.get(java.lang.String key) |
|
TemplateModel |
SimpleHash.get(java.lang.String key) |
|
TemplateModel |
SimpleSequence.get(int index) |
Returns the item at the specified index of the list.
|
TemplateModel |
TemplateHashModel.get(java.lang.String key) |
Gets a TemplateModel from the hash.
|
TemplateModel |
TemplateModelListSequence.get(int index) |
|
TemplateModel |
TemplateSequenceModel.get(int index) |
Retrieves the i-th template model in this sequence.
|
TemplateModel |
DefaultListAdapter.getAPI() |
|
TemplateModel |
DefaultMapAdapter.getAPI() |
|
TemplateModel |
DefaultNonListCollectionAdapter.getAPI() |
|
TemplateModel |
TemplateModelWithAPISupport.getAPI() |
Returns the model that exposes the (Java) API of the value.
|
TemplateModel |
Configuration.getSharedVariable(java.lang.String name) |
Gets a shared variable.
|
TemplateModel |
TemplateModelAdapter.getTemplateModel() |
|
protected TemplateModel |
DefaultObjectWrapper.handleUnknownType(java.lang.Object obj) |
Called for an object that aren't considered to be of a "basic" Java type, like for an application specific type,
or for a W3C DOM node.
|
protected TemplateModel |
SimpleObjectWrapper.handleUnknownType(java.lang.Object obj) |
Called if a type other than the simple ones we know about is passed in.
|
TemplateModel |
TemplateModelIterator.next() |
Returns the next model.
|
TemplateModel |
DefaultObjectWrapper.wrap(java.lang.Object obj) |
Wraps the parameter object to
TemplateModel interface(s). |
TemplateModel |
ObjectWrapper.wrap(java.lang.Object obj) |
Makes a
TemplateModel out of a non-TemplateModel object, usually by "wrapping" it into a
TemplateModel implementation that delegates to the original object. |
protected TemplateModel |
WrappingTemplateModel.wrap(java.lang.Object obj) |
Wraps the passed object into a template model using this object's object
wrapper.
|
TemplateModel |
DefaultObjectWrapper.wrapDomNode(java.lang.Object obj) |
Modifier and Type | Method | Description |
---|---|---|
boolean |
DefaultNonListCollectionAdapter.contains(TemplateModel item) |
|
boolean |
TemplateCollectionModelEx.contains(TemplateModel item) |
Tells if a given value occurs in the collection, accodring the rules of the wrapped collection.
|
void |
TemplateDirectiveModel.execute(Environment env,
java.util.Map params,
TemplateModel[] loopVars,
TemplateDirectiveBody body) |
Executes this user-defined directive; called by FreeMarker when the user-defined
directive is called in the template.
|
void |
Configuration.setSharedVariable(java.lang.String name,
TemplateModel tm) |
Adds a shared variable to the configuration.
|
java.lang.Object |
ObjectWrapperAndUnwrapper.tryUnwrapTo(TemplateModel tm,
java.lang.Class targetClass) |
Attempts to unwrap a
TemplateModel to a plain Java object that's the instance of the given class (or is
null ). |
java.lang.Object |
ObjectWrapperAndUnwrapper.unwrap(TemplateModel tm) |
Unwraps a
TemplateModel to a plain Java object. |
Modifier and Type | Class | Description |
---|---|---|
class |
CaptureOutput |
Deprecated.
Use block-assignments instead, like
<assign x>...</assign> . |
class |
DOMNodeModel |
A convenient wrapper class for wrapping a Node in the W3C DOM API.
|
class |
Execute |
Gives FreeMarker the the ability to execute external commands.
|
class |
HtmlEscape |
Performs an HTML escape of a given template fragment.
|
class |
JythonRuntime |
A crude first pass at an embeddable Jython interpreter
|
class |
NormalizeNewlines |
Transformer that supports FreeMarker legacy behavior: all newlines appearing
within the transformed area will be transformed into the platform's default
newline.
|
class |
ObjectConstructor |
An object that you can make available in a template
to instantiate arbitrary beans-wrapped objects in a template.
|
class |
StandardCompress |
A filter that compresses each sequence of consecutive whitespace
to a single line break (if the sequence contains a line break) or a
single space.
|
class |
XmlEscape |
Performs an XML escaping of a given template fragment.
|
Modifier and Type | Method | Description |
---|---|---|
TemplateModel |
DOMNodeModel.get(java.lang.String key) |
Modifier and Type | Method | Description |
---|---|---|
static java.lang.String |
ClassUtil.getFTLTypeDescription(TemplateModel tm) |
Returns the type description of a value with FTL terms (not plain class name), as it should be used in
type-related error messages and for debugging purposes.
|
static java.lang.Object |
DeepUnwrap.permissiveUnwrap(TemplateModel model) |
Same as
DeepUnwrap.unwrap(TemplateModel) , but it doesn't throw exception
if it doesn't know how to unwrap the model, but rather returns it as-is. |
static java.lang.Object |
DeepUnwrap.premissiveUnwrap(TemplateModel model) |
Deprecated.
the name of this method is mistyped. Use
DeepUnwrap.permissiveUnwrap(TemplateModel) instead. |
static java.lang.Object |
DeepUnwrap.unwrap(TemplateModel model) |
Unwraps
TemplateModel -s recursively. |