|
HTML Parser Home Page | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.htmlparser.util.NodeTreeWalker
public class NodeTreeWalker
A class for walking a tree of Node
objects, in either a depth-first or breadth-first manner.
The following two diagrams show the represent tree traversal with the two different methods.
Depth-first traversal | Breadth-first traversal |
---|---|
Field Summary | |
---|---|
protected Node |
mCurrentNode
The current Node element, which will be a child of the root Node, or null. |
protected boolean |
mDepthFirst
Whether the tree traversal method used is depth-first (default) or breadth-first. |
protected int |
mMaxDepth
The maximum depth (child-parent links) from which this NodeTreeWalker may be removed from the root Node. |
protected Node |
mNextNode
The next Node element after the current Node element. |
protected Node |
mRootNode
The root Node element which defines the scope of the current tree to walk. |
Constructor Summary | |
---|---|
NodeTreeWalker(Node rootNode)
Creates a new instance of NodeTreeWalker using depth-first tree traversal, without limits on how deep it may traverse. |
|
NodeTreeWalker(Node rootNode,
boolean depthFirst)
Creates a new instance of NodeTreeWalker using the specified type of tree traversal, without limits on how deep it may traverse. |
|
NodeTreeWalker(Node rootNode,
boolean depthFirst,
int maxDepth)
Creates a new instance of NodeTreeWalker using the specified type of tree traversal and maximum depth from the root Node to traverse. |
Method Summary | |
---|---|
Node |
getCurrentNode()
Get the Node in the tree that the NodeTreeWalker is current at. |
int |
getCurrentNodeDepth()
Get the number of places down that the current Node is from the root Node. |
int |
getMaxDepth()
The maximum depth (number of child-parent links) below the root Node that this NodeTreeWalker may traverse. |
protected Node |
getNextNodeBreadthFirst()
Traverses to the next Node from the current Node using breadth-first tree traversal |
protected Node |
getNextNodeDepthFirst()
Traverses to the next Node from the current Node using depth-first tree traversal |
Node |
getRootNode()
Get the root Node that defines the scope of the tree to traverse. |
boolean |
hasMoreNodes()
Returns whether or not there are more nodes available based on the current configuration of this NodeTreeWalker. |
protected void |
initRootNode(Node rootNode)
Sets the root Node to be the given Node. |
boolean |
isDepthFirst()
Whether the NodeTreeWalker is currently set to use depth-first or breadth-first tree traversal. |
Node |
nextNode()
Traverses to the next Node from the current Node, using either depth-first or breadth-first tree traversal as appropriate. |
void |
removeMaxDepthRestriction()
Removes any restrictions in place that prevent this NodeTreeWalker from traversing beyond a certain depth. |
void |
reset()
Resets the current position in the tree, such that calling nextNode() will return the first Node again. |
void |
setCurrentNodeAsRootNode()
Sets the current Node as the root Node. |
void |
setDepthFirst(boolean depthFirst)
Sets whether the NodeTreeWalker should use depth-first or breadth-first tree traversal. |
void |
setRootNode(Node rootNode)
Sets the specified Node as the root Node. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Node mRootNode
protected Node mCurrentNode
protected Node mNextNode
protected int mMaxDepth
protected boolean mDepthFirst
Constructor Detail |
---|
public NodeTreeWalker(Node rootNode)
rootNode
- Node The Node to set as the root of the tree.
NullPointerException
- if root Node is null.public NodeTreeWalker(Node rootNode, boolean depthFirst)
rootNode
- The Node to set as the root of the tree.depthFirst
- Whether to use depth-first (true) or breadth-first (false) tree traversal.
NullPointerException
- if rootNode is null.public NodeTreeWalker(Node rootNode, boolean depthFirst, int maxDepth)
rootNode
- The Node to set as the root of the tree.depthFirst
- Whether to use depth-first (true) or breadth-first (false) tree traversal.maxDepth
- The maximum depth from the root Node that this NodeTreeWalker may traverse. This must be > 0 or equal to -1.
NullPointerException
- if rootNode is null.
IllegalArgumentException
- maxDepth is not > 0 or equal to -1.Method Detail |
---|
public boolean isDepthFirst()
public void setDepthFirst(boolean depthFirst)
depthFirst
- Whether to use depth-first (true) or breadth-first (false) tree traversal.public int getMaxDepth()
public void removeMaxDepthRestriction()
public Node getRootNode()
public Node getCurrentNode()
public void setCurrentNodeAsRootNode() throws NullPointerException
NullPointerException
- if the current Node is null (i.e. if the tree traversal has not yet begun).public void setRootNode(Node rootNode) throws NullPointerException
rootNode
- The Node to set as the root of the tree.
NullPointerException
- if rootNode is null.public void reset()
nextNode()
will return the first Node again.
public Node nextNode()
nextNode
in interface NodeIterator
public int getCurrentNodeDepth()
public boolean hasMoreNodes()
hasMoreNodes
in interface NodeIterator
protected void initRootNode(Node rootNode) throws NullPointerException
rootNode
- The Node to set as the root of the tree.
NullPointerException
- if rootNode is null.protected Node getNextNodeDepthFirst()
protected Node getNextNodeBreadthFirst()
|
© 2006 Derrick Oswald Sep 17, 2006
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
HTML Parser is an open source library released under Common Public License. |