net.sourceforge.pmd.ast
Class SimpleNode

java.lang.Object
  extended bynet.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.