Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.jasper.xmlparser
Class TreeNode

    java.lang.Object
      org.apache.jasper.xmlparser.TreeNode

    public class TreeNode

extends 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:
  $Id: TreeNode.java 1081765 2011-03-15 13:10:33Z markt $
Author:
  Craig R. McClanahan

Field Summary
`protected HashMap<String,String>` | `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<TreeNode>` | `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.

Constructor Summary
`TreeNode(String name, TreeNode parent)` Construct a new node with the specified parent.

Method Summary
`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<String>` | `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<TreeNode>` | `findChildren()` Return an Iterator of all children of this node.
`Iterator<TreeNode>` | `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` | `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(StringBuilder sb, int indent, TreeNode node)` Append to the specified StringBuilder a character representation of this node, with the specified amount of indentation.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### attributes

    protected HashMap<String,String> 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<TreeNode> 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.

Constructor Detail

### TreeNode

    public TreeNode(String name,
                    TreeNode parent)

  Construct a new node with the specified parent.

  Parameters:
    `name` - The name of this node
    `parent` - The node that is the parent of this node

Method Detail

### addAttribute

    public void addAttribute(String name,
                             String value)

  Add an attribute to this node, replacing any existing attribute with the same name.

  Parameters:
    `name` - The attribute name to add
    `value` - The new attribute value

### addChild

    public void addChild(TreeNode node)

  Add a new child node to this node.

  Parameters:
    `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.

  Parameters:
    `name` - Name of the requested attribute

### findAttributes

    public Iterator<String> 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`.

  Parameters:
    `name` - Name of the desired child element

### findChildren

    public Iterator<TreeNode> findChildren()

  Return an Iterator of all children of this node. If there are no children, an empty Iterator is returned.

### findChildren

    public Iterator<TreeNode> 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.

  Parameters:
    `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.

### setBody

    public void setBody(String body)

  Set the body text associated with this node (if any).

  Parameters:
    `body` - The body text (if any)

### toString

    public String toString()

  Return a String representation of this TreeNode.

  Overrides:
    `toString` in class `Object`

### toString

    protected void toString(StringBuilder sb,
                            int indent,
                            TreeNode node)

  Append to the specified StringBuilder a character representation of this node, with the specified amount of indentation.

  Parameters:
    `sb` - The StringBuilder to append to
    `indent` - Number of characters of indentation
    `node` - The TreeNode to be printed

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.