freemarker.template
Interface TemplateNodeModel
- All Superinterfaces:
- TemplateModel
- All Known Implementing Classes:
- NodeListModel, NodeModel
- public interface TemplateNodeModel
- extends TemplateModel
Describes objects that are nodes in a tree.
If you have a tree of objects, they can be recursively
visited using the <#visit...> and <#recurse...>
FTL directives. This API is largely based on the W3C Document Object Model
(DOM) API. However, it is meant to be generally useful for describing
any tree of objects that you wish to navigate using a recursive visitor
design pattern.
- Since:
- FreeMarker 2.3
- Author:
- Jonathan Revusky
getParentNode
public TemplateNodeModel getParentNode()
throws TemplateModelException
- Returns:
- the parent of this node or null, in which case
this node is the root of the tree.
- Throws:
TemplateModelException
getChildNodes
public TemplateSequenceModel getChildNodes()
throws TemplateModelException
- Returns:
- a sequence containing this node's children.
If the returned value is null or empty, this is essentially
a leaf node.
- Throws:
TemplateModelException
getNodeName
public java.lang.String getNodeName()
throws TemplateModelException
- Returns:
- a String that is used to determine the processing
routine to use. In the XML implementation, if the node
is an element, it returns the element's tag name. If it
is an attribute, it returns the attribute's name. It
returns "@text" for text nodes, "@pi" for processing instructions,
and so on.
- Throws:
TemplateModelException
getNodeType
public java.lang.String getNodeType()
throws TemplateModelException
- Returns:
- a String describing the type of node this is.
In the W3C DOM, this should be "element", "text", "attribute", etc.
A TemplateNodeModel implementation that models other kinds of
trees could return whatever it appropriate for that application. It
can be null, if you don't want to use node-types.
- Throws:
TemplateModelException
getNodeNamespace
public java.lang.String getNodeNamespace()
throws TemplateModelException
- Returns:
- the XML namespace URI with which this node is
associated. If this TemplateNodeModel implementation is
not XML-related, it will almost certainly be null. Even
for XML nodes, this will often be null.
- Throws:
TemplateModelException