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 (also see
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 and Description |
---|---|
class |
Environment.Namespace |
Modifier and Type | Method and 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.
|
Modifier and Type | Method and 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 and 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 <foreach> 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 and Description |
---|---|
protected TemplateModel |
BeansModelCache.create(java.lang.Object object) |
TemplateModel |
SimpleMethodModel.get(int index) |
TemplateModel |
OverloadedMethodsModel.get(int index) |
TemplateModel |
CollectionModel.get(int index)
Retrieves the i-th object from the collection, wrapped as a TemplateModel.
|
TemplateModel |
ArrayModel.get(int index) |
TemplateModel |
SimpleMapModel.get(java.lang.String key) |
TemplateModel |
BeanModel.get(java.lang.String key)
Uses Beans introspection to locate a property or method with name
matching the key name.
|
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 |
ResourceBundleModel.invokeGenericGet(java.util.Map keyMap,
java.lang.Class clazz,
java.lang.String key)
Overridden to invoke the getObject method of the resource bundle.
|
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 |
BeanModel.invokeGenericGet(java.util.Map keyMap,
java.lang.Class clazz,
java.lang.String key) |
TemplateModel |
IteratorModel.next()
Calls underlying
Iterator.next() and wraps the result. |
TemplateModel |
EnumerationModel.next()
Calls underlying
Enumeration.nextElement() and wraps the result. |
TemplateModel |
BeansWrapper.wrap(java.lang.Object object)
Wraps the object with a template model that is most specific for the object's
class.
|
protected TemplateModel |
BeanModel.wrap(java.lang.Object obj) |
Modifier and Type | Method and Description |
---|---|
void |
BeansWrapper.setNullModel(TemplateModel nullModel)
Sets the null model.
|
java.lang.Object |
BeansWrapper.unwrap(TemplateModel model)
Attempts to unwrap a model into underlying object.
|
protected java.lang.Object |
BeanModel.unwrap(TemplateModel model) |
java.lang.Object |
BeansWrapper.unwrap(TemplateModel model,
java.lang.Class hint)
Attempts to unwrap a model into an object of the desired class.
|
Modifier and Type | Class and Description |
---|---|
class |
NodeModel
A base class for wrapping a W3C DOM Node as a FreeMarker template model.
|
Modifier and Type | Method and 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 and Description |
---|---|
class |
NodeListModel
Deprecated.
Use
NodeModel instead. |
Modifier and Type | Method and 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 and 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 and Description |
---|---|
TemplateModel |
TaglibFactory.get(java.lang.String uri)
Retrieves a JSP tag library identified by an URI.
|
Modifier and Type | Class and 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 and Description |
---|---|
TemplateModel |
JythonSequenceModel.get(int index)
Returns
PyObject.__finditem__(int) . |
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 |
JythonWrapper.wrap(java.lang.Object obj)
Wraps the passed Jython object into a FreeMarker template model.
|
Modifier and Type | Method and Description |
---|---|
org.python.core.PyObject |
JythonWrapper.unwrap(TemplateModel model)
Coerces a template model into a
PyObject . |
Modifier and Type | Class and Description |
---|---|
class |
RhinoFunctionModel |
class |
RhinoScriptableModel |
Modifier and Type | Method and Description |
---|---|
TemplateModel |
RhinoScriptableModel.get(int index) |
TemplateModel |
RhinoScriptableModel.get(java.lang.String key) |
TemplateModel |
RhinoWrapper.wrap(java.lang.Object obj) |
Modifier and Type | Class and 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 and Description |
---|---|
protected TemplateModel |
FreemarkerServlet.createModel(ObjectWrapper wrapper,
javax.servlet.ServletContext servletContext,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
TemplateModel |
ServletContextHashModel.get(java.lang.String key) |
TemplateModel |
HttpSessionHashModel.get(java.lang.String key) |
TemplateModel |
HttpRequestParametersHashModel.get(java.lang.String key) |
TemplateModel |
HttpRequestHashModel.get(java.lang.String key) |
TemplateModel |
AllHttpScopesHashModel.get(java.lang.String key) |
Modifier and Type | Method and 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 and 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 and 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 | Method and 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 and 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, repeatedly (not just once).
|
interface |
TemplateDateModel
"date" template language data type: similar to
Date ; a time-zone-independent date-only, time-only
or date-time value. |
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 |
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 and Description |
---|---|
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 an underlying
Map or SortedMap . |
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 convenient implementation of a list.
|
class |
TemplateModelListSequence
A sequence that wraps a
List of TemplateModel -s. |
Modifier and Type | Field and 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 and Description |
---|---|
TemplateModel |
TemplateSequenceModel.get(int index)
Retrieves the i-th template model in this sequence.
|
TemplateModel |
TemplateModelListSequence.get(int index) |
TemplateModel |
SimpleSequence.get(int i) |
TemplateModel |
TemplateHashModel.get(java.lang.String key)
Gets a TemplateModel from the hash.
|
TemplateModel |
SimpleHash.get(java.lang.String key) |
TemplateModel |
Configuration.getSharedVariable(java.lang.String name)
Gets a shared variable.
|
TemplateModel |
TemplateModelAdapter.getTemplateModel() |
protected TemplateModel |
SimpleObjectWrapper.handleUnknownType(java.lang.Object obj)
Called if a type other than the simple ones we know about is passed in.
|
protected TemplateModel |
DefaultObjectWrapper.handleUnknownType(java.lang.Object obj)
Called if an unknown type is passed in.
|
TemplateModel |
TemplateModelIterator.next()
Returns the next model.
|
protected TemplateModel |
WrappingTemplateModel.wrap(java.lang.Object obj)
Wraps the passed object into a template model using this object's object
wrapper.
|
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. |
TemplateModel |
DefaultObjectWrapper.wrap(java.lang.Object obj) |
TemplateModel |
DefaultObjectWrapper.wrapDomNode(java.lang.Object obj) |
Modifier and Type | Method and Description |
---|---|
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.
|
Modifier and Type | Class and Description |
---|---|
class |
CaptureOutput
Deprecated.
Use block-assignments instead, as
<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 and Description |
---|---|
TemplateModel |
DOMNodeModel.get(java.lang.String key) |
Modifier and Type | Method and 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. |