qflib 0.98.1

de.qfs.lib.tree
Class IndexTraversal

java.lang.Object
  |
  +--de.qfs.lib.tree.AbstractTraversal
        |
        +--de.qfs.lib.tree.IndexTraversal
All Implemented Interfaces:
MutableTraversal, Traversal

public class IndexTraversal
extends AbstractTraversal
implements MutableTraversal

Index based tree traversal.

Since:
0.98.1
Version:
$Revision: 1.3 $
Author:
Gregor Schmid

Inner classes inherited from class de.qfs.lib.tree.AbstractTraversal
AbstractTraversal.Level
 
Constructor Summary
IndexTraversal(TreeAdapter adapter, java.lang.Object root)
          Create a new IndexTraversal.
 
Method Summary
 void finish()
          Cleanly abort the traversal.
 boolean insertNodeAfter(java.lang.Object node)
          Insert a node after the current node of the traversal.
 boolean insertNodeBefore(java.lang.Object node)
          Insert a node before the current node of the traversal.
 void nodeInsertedAfter(java.lang.Object node)
          Notify the traversal that a node has been inserted after the currently visited node.
 void nodeInsertedBefore(java.lang.Object node)
          Notify the traversal that a node has been inserted before the currently visited node.
 void nodeRemoved()
          Notify the traversal that the currently visited node has been removed.
 boolean removeNode()
          Remove the currently visited node from the tree.
 void traverse(TraversalCallback callback)
          Traverse the tree.
 void traverseFrom(TraversalCallback callback, java.lang.Object[] path)
          Traverse the tree, skipping the callback for some nodes.
 
Methods inherited from class de.qfs.lib.tree.AbstractTraversal
getAdapter, getIndex, getNode, getParent, getPath, getPreviousSibling, getUserObject, setUserObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.qfs.lib.tree.Traversal
getAdapter, getIndex, getNode, getParent, getPath, getPreviousSibling, getUserObject, setUserObject
 

Constructor Detail

IndexTraversal

public IndexTraversal(TreeAdapter adapter,
                      java.lang.Object root)
Create a new IndexTraversal.
Method Detail

traverse

public void traverse(TraversalCallback callback)
              throws ReturnFromTraversalException
Traverse the tree.
Parameters:
callback - The callback to call back to for each node encountered.
Throws:
ReturnFromTraversalException - If the callback method does.

traverseFrom

public void traverseFrom(TraversalCallback callback,
                         java.lang.Object[] path)
                  throws ReturnFromTraversalException
Traverse the tree, skipping the callback for some nodes.
Parameters:
callback - The callback for the traversal.
path - The path of the first node to call back to the callback for.
Throws:
ReturnFromTraversalException -  

finish

public void finish()
Cleanly abort the traversal.
Specified by:
finish in interface Traversal

removeNode

public boolean removeNode()
Remove the currently visited node from the tree.
Specified by:
removeNode in interface MutableTraversal
Returns:
True if the node could be removed, false otherwise.

nodeRemoved

public void nodeRemoved()
Notify the traversal that the currently visited node has been removed.
Specified by:
nodeRemoved in interface MutableTraversal

insertNodeBefore

public boolean insertNodeBefore(java.lang.Object node)
Insert a node before the current node of the traversal.
Specified by:
insertNodeBefore in interface MutableTraversal
Parameters:
node - The node to insert.
Returns:
True if the node could be inserted, false if not.

nodeInsertedBefore

public void nodeInsertedBefore(java.lang.Object node)
Notify the traversal that a node has been inserted before the currently visited node.
Specified by:
nodeInsertedBefore in interface MutableTraversal
Parameters:
node - The inserted node which will become the node returned by getPreviousSibling.

insertNodeAfter

public boolean insertNodeAfter(java.lang.Object node)
Insert a node after the current node of the traversal.
Specified by:
insertNodeAfter in interface MutableTraversal
Parameters:
node - The node to insert.
Returns:
True if the node could be inserted, false if not.

nodeInsertedAfter

public void nodeInsertedAfter(java.lang.Object node)
Notify the traversal that a node has been inserted after the currently visited node.
Specified by:
nodeInsertedAfter in interface MutableTraversal
Parameters:
node - The inserted node.

qflib 0.98.1