## net.sourceforge.pmd.ast
Class SimpleNode

    java.lang.Object
      net.sourceforge.pmd.ast.SimpleNode

All Implemented Interfaces:
  Node

Direct Known Subclasses:
  SimpleJavaNode, SimpleNode

public abstract class SimpleNode
extends java.lang.Object
implements Node

Field Summary
`protected int` `beginColumn`
`protected int` `beginLine`
`protected Node[]` `children`
`protected int` `endColumn`
`protected int` `endLine`
`protected int` `id`
`protected Node` `parent`
`protected JavaParser` `parser`

Constructor Summary
`SimpleNode(int i)`
`SimpleNode(JavaParser p, int i)`

Method Summary
`protected void` `appendElement(org.w3c.dom.Node parentNode)`
`org.w3c.dom.Document` `asXml()`
`boolean` `containsChildOfType(java.lang.Class type)` Finds if this node contains a child of the given type.
`void` `discardIfNecessary()`
`void` `dump(java.lang.String prefix)`
`protected void` `dumpChildren(java.lang.String prefix)`
`java.util.List` `findChildNodesWithXPath(java.lang.String xpathString)`
`java.util.List` `findChildrenOfType(java.lang.Class targetType)`
`void` `findChildrenOfType(java.lang.Class targetType, java.util.List results)`
`void` `findChildrenOfType(java.lang.Class targetType, java.util.List results, boolean descendIntoNestedClasses)`
`int` `getBeginColumn()`
`int` `getBeginLine()`
`IDataFlowNode` `getDataFlowNode()`
`int` `getEndColumn()`
`int` `getEndLine()`
`Node` `getFirstChildOfType(java.lang.Class childType)` Traverses down the tree to find the first child instance of type childType
`Node` `getFirstParentOfType(java.lang.Class parentType)` Traverses up the tree to find the first parent instance of type parentType
`java.lang.String` `getImage()`
`Node` `getNthParent(int n)`
`java.util.List` `getParentsOfType(java.lang.Class parentType)` Traverses up the tree to find all of the parent instances of type parentType
`Scope` `getScope()`
`void` `jjtAddChild(Node n, int i)` This method tells the node to add its argument to the node's list of children.
`Node` `jjtGetChild(int i)` This method returns a child node.
`int` `jjtGetNumChildren()` Return the number of children the node has.
`Node` `jjtGetParent()`
`void` `jjtReplaceChild(Node old, Node newNode)`
`void` `jjtSetParent(Node n)` This pair of methods are used to inform the node of its parent.
`void` `setDataFlowNode(IDataFlowNode dataFlowNode)`
`void` `setDiscardable()`
`void` `setImage(java.lang.String image)`
`void` `setScope(Scope scope)`
`void` `setUnDiscardable()`
`void` `testingOnly__setBeginColumn(int i)`
`void` `testingOnly__setBeginLine(int i)`
`java.lang.String` `toString(java.lang.String prefix)`

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

Methods inherited from interface net.sourceforge.pmd.ast.Node
`jjtClose, jjtOpen`

Field Detail

### parent

    protected Node parent

### children

    protected Node[] children

### id

    protected int id

### parser

    protected JavaParser parser

### beginLine

    protected int beginLine

### endLine

    protected int endLine

### beginColumn

    protected int beginColumn

### endColumn

    protected int endColumn

Constructor Detail

### SimpleNode

    public SimpleNode(int i)

### SimpleNode

    public SimpleNode(JavaParser p,
                      int i)

Method Detail

### getDataFlowNode

    public IDataFlowNode getDataFlowNode()

### discardIfNecessary

    public void discardIfNecessary()

### setDataFlowNode

    public void setDataFlowNode(IDataFlowNode dataFlowNode)

### setDiscardable

    public void setDiscardable()

### setUnDiscardable

    public void setUnDiscardable()

### setScope

    public void setScope(Scope scope)

### getScope

    public Scope getScope()

### getBeginLine

    public int getBeginLine()

### testingOnly__setBeginLine

    public void testingOnly__setBeginLine(int i)

### testingOnly__setBeginColumn

    public void testingOnly__setBeginColumn(int i)

### getBeginColumn

    public int getBeginColumn()

### getImage

    public java.lang.String getImage()

### setImage

    public void setImage(java.lang.String image)

### getEndLine

    public int getEndLine()

### getEndColumn

    public int getEndColumn()

### getNthParent

    public Node getNthParent(int n)

### getFirstParentOfType

    public Node getFirstParentOfType(java.lang.Class parentType)

  Traverses up the tree to find the first parent instance of type parentType

  Parameters:
    `parentType` - class which you want to find.
  Returns:
    Node of type parentType. Returns null if none found.

### getParentsOfType

    public java.util.List getParentsOfType(java.lang.Class parentType)

  Traverses up the tree to find all of the parent instances of type parentType

  Parameters:
    `parentType` - classes which you want to find.
  Returns:
    List of parentType instances found.

### findChildrenOfType

    public java.util.List findChildrenOfType(java.lang.Class targetType)

### findChildrenOfType

    public void findChildrenOfType(java.lang.Class targetType,
                                   java.util.List results)

### findChildrenOfType

    public void findChildrenOfType(java.lang.Class targetType,
                                   java.util.List results,
                                   boolean descendIntoNestedClasses)

### jjtSetParent

    public void jjtSetParent(Node n)

  Description copied from interface: `Node`
  This pair of methods are used to inform the node of its parent.

  Specified by:
    `jjtSetParent` in interface `Node`

### jjtGetParent

    public Node jjtGetParent()

  Specified by:
    `jjtGetParent` in interface `Node`

### jjtReplaceChild

    public void jjtReplaceChild(Node old,
                                Node newNode)

### jjtAddChild

    public void jjtAddChild(Node n,
                            int i)

  Description copied from interface: `Node`
  This method tells the node to add its argument to the node's list of children.

  Specified by:
    `jjtAddChild` in interface `Node`

### jjtGetChild

    public Node jjtGetChild(int i)

  Description copied from interface: `Node`
  This method returns a child node. The children are numbered from zero, left to right.

  Specified by:
    `jjtGetChild` in interface `Node`
  Parameters:
    `i` - the child index. Must be nonnegative and less than `Node.jjtGetNumChildren()`.

### jjtGetNumChildren

    public int jjtGetNumChildren()

  Description copied from interface: `Node`
  Return the number of children the node has.

  Specified by:
    `jjtGetNumChildren` in interface `Node`

### toString

    public java.lang.String toString(java.lang.String prefix)

### asXml

    public org.w3c.dom.Document asXml()

### appendElement

    protected void appendElement(org.w3c.dom.Node parentNode)

### dump

    public void dump(java.lang.String prefix)

### dumpChildren

    protected void dumpChildren(java.lang.String prefix)

### getFirstChildOfType

    public Node getFirstChildOfType(java.lang.Class childType)

  Traverses down the tree to find the first child instance of type childType

  Parameters:
    `childType` - class which you want to find.
  Returns:
    Node of type childType. Returns `null` if none found.

### containsChildOfType

    public final boolean containsChildOfType(java.lang.Class type)

  Finds if this node contains a child of the given type. This is an utility method that uses `findChildrenOfType(Class)`

  Parameters:
    `type` - the node type to search
  Returns:
    `true` if there is at lease on child of the given type and `false` in any other case

### findChildNodesWithXPath

    public java.util.List findChildNodesWithXPath(java.lang.String xpathString)
                                           throws org.jaxen.JaxenException

  Throws:
    `org.jaxen.JaxenException`

Copyright © 2002-2006 InfoEther. All Rights Reserved.