Package mondrian.olap
Class Walker
- java.lang.Object
-
- mondrian.olap.Walker
-
- All Implemented Interfaces:
Enumeration
public class Walker extends Object implements Enumeration
Walks over a tree, returning nodes in prefix order. Objects which are an instance ofWalkable
supply their children usinggetChildren()
; other objects are assumed to have no children.If the tree is modified during the enumeration, strange things may happen.
Example use:
Tree t; Walker w = new Walker(t); while (w.hasMoreElements()) { Tree node = (Tree) w.nextNode(); System.out.println(node.toString()); }
-
-
Constructor Summary
Constructors Constructor Description Walker(mondrian.olap.Walkable root)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
currentElement()
returns the current object.Object
getAncestor(int iDepth)
int
getAncestorOrdinal(int iDepth)
get the ordinal within its parent node of theiDepth
th ancestor.Object[]
getChildren(Object node)
Override this function to prune the tree, or to allow objects which are not Walkable to have children.int
getOrdinal()
get the ordinal within its parent node of the current node.Object
getParent()
boolean
hasMoreElements()
int
level()
returns level in the tree of the current element (that is, last element returned from nextElement()).static void
main(String[] args)
Object
nextElement()
void
prune()
Tell walker that we don't want to visit any (more) children of this node.void
pruneSiblings()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Enumeration
asIterator
-
-
-
-
Method Detail
-
hasMoreElements
public boolean hasMoreElements()
- Specified by:
hasMoreElements
in interfaceEnumeration
-
nextElement
public Object nextElement()
- Specified by:
nextElement
in interfaceEnumeration
-
prune
public void prune()
Tell walker that we don't want to visit any (more) children of this node. The next node visited will be (a return visit to) the node's parent. Not valid until nextElement() has been called.
-
pruneSiblings
public void pruneSiblings()
-
currentElement
public Object currentElement()
returns the current object. Not valid until nextElement() has been called.
-
level
public int level()
returns level in the tree of the current element (that is, last element returned from nextElement()). The level of the root element is 0.
-
getParent
public final Object getParent()
-
getAncestor
public final Object getAncestor(int iDepth)
-
getOrdinal
public int getOrdinal()
get the ordinal within its parent node of the current node. Returns 0 for the root element. Equivalent to getAncestorOrdinal(0).
-
getAncestorOrdinal
public int getAncestorOrdinal(int iDepth)
get the ordinal within its parent node of theiDepth
th ancestor.
-
getChildren
public Object[] getChildren(Object node)
Override this function to prune the tree, or to allow objects which are not Walkable to have children.
-
main
public static void main(String[] args)
-
-