org.apache.jasper.xmlparser
Class TreeNode
java.lang.Object
org.apache.jasper.xmlparser.TreeNode
public class TreeNode
extends java.lang.Object
Simplified implementation of a Node from a Document Object Model (DOM)
parse of an XML document. This class is used to represent a DOM tree
so that the XML parser's implementation of
org.w3c.dom
need
not be visible to the remainder of Jasper.
WARNING - Construction of a new tree, or modifications
to an existing one, are not thread-safe and such accesses must be
synchronized.
Version:
- Craig R. McClanahan
protected HashMap | attributes - The attributes of this node, keyed by attribute name,
Instantiated only if required.
|
protected String | body - The body text associated with this node (if any).
|
protected ArrayList | children - The children of this node, instantiated only if required.
|
protected String | name - The name of this node.
|
protected TreeNode | parent - The parent node of this node.
|
TreeNode(String name) - Construct a new node with no parent.
|
TreeNode(String name, TreeNode parent) - Construct a new node with the specified parent.
|
void | addAttribute(String name, String value) - Add an attribute to this node, replacing any existing attribute
with the same name.
|
void | addChild(TreeNode node) - Add a new child node to this node.
|
String | findAttribute(String name) - Return the value of the specified node attribute if it exists, or
null otherwise.
|
Iterator | findAttributes() - Return an Iterator of the attribute names of this node.
|
TreeNode | findChild(String name) - Return the first child node of this node with the specified name,
if there is one; otherwise, return
null .
|
Iterator | findChildren() - Return an Iterator of all children of this node.
|
Iterator | findChildren(String name) - Return an Iterator over all children of this node that have the
specified name.
|
String | getBody() - Return the body text associated with this node (if any).
|
String | getName() - Return the name of this node.
|
void | removeAttribute(String name) - Remove any existing value for the specified attribute name.
|
void | removeNode(TreeNode node) - Remove a child node from this node, if it is one.
|
void | setBody(String body) - Set the body text associated with this node (if any).
|
String | toString() - Return a String representation of this TreeNode.
|
protected void | toString(StringBuffer sb, int indent, TreeNode node) - Append to the specified StringBuffer a character representation of
this node, with the specified amount of indentation.
|
attributes
protected HashMap attributes
The attributes of this node, keyed by attribute name,
Instantiated only if required.
body
protected String body
The body text associated with this node (if any).
children
protected ArrayList children
The children of this node, instantiated only if required.
name
protected String name
The name of this node.
parent
protected TreeNode parent
The parent node of this node.
TreeNode
public TreeNode(String name)
Construct a new node with no parent.
name
- The name of this node
TreeNode
public TreeNode(String name,
TreeNode parent)
Construct a new node with the specified parent.
name
- The name of this nodeparent
- The node that is the parent of this node
addAttribute
public void addAttribute(String name,
String value)
Add an attribute to this node, replacing any existing attribute
with the same name.
name
- The attribute name to addvalue
- The new attribute value
addChild
public void addChild(TreeNode node)
Add a new child node to this node.
node
- The new child node
findAttribute
public String findAttribute(String name)
Return the value of the specified node attribute if it exists, or
null
otherwise.
name
- Name of the requested attribute
findAttributes
public Iterator findAttributes()
Return an Iterator of the attribute names of this node. If there are
no attributes, an empty Iterator is returned.
findChild
public TreeNode findChild(String name)
Return the first child node of this node with the specified name,
if there is one; otherwise, return null
.
name
- Name of the desired child element
findChildren
public Iterator findChildren()
Return an Iterator of all children of this node. If there are no
children, an empty Iterator is returned.
findChildren
public Iterator findChildren(String name)
Return an Iterator over all children of this node that have the
specified name. If there are no such children, an empty Iterator
is returned.
name
- Name used to select children
getBody
public String getBody()
Return the body text associated with this node (if any).
getName
public String getName()
Return the name of this node.
removeAttribute
public void removeAttribute(String name)
Remove any existing value for the specified attribute name.
name
- The attribute name to remove
removeNode
public void removeNode(TreeNode node)
Remove a child node from this node, if it is one.
node
- The child node to remove
setBody
public void setBody(String body)
Set the body text associated with this node (if any).
body
- The body text (if any)
toString
public String toString()
Return a String representation of this TreeNode.
toString
protected void toString(StringBuffer sb,
int indent,
TreeNode node)
Append to the specified StringBuffer a character representation of
this node, with the specified amount of indentation.
sb
- The StringBuffer to append toindent
- Number of characters of indentationnode
- The TreeNode to be printed
Copyright B) 2000 Apache Software Foundation. All Rights Reserved.