Package mondrian.olap
Class Walker
java.lang.Object
mondrian.olap.Walker
- All Implemented Interfaces:
Enumeration
Walks over a tree, returning nodes in prefix order. Objects which are an
instance of
Walkable supply their children using
getChildren(); 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 -
Method Summary
Modifier and TypeMethodDescriptionreturns the current object.final ObjectgetAncestor(int iDepth) intgetAncestorOrdinal(int iDepth) get the ordinal within its parent node of theiDepthth ancestor.Object[]getChildren(Object node) Override this function to prune the tree, or to allow objects which are not Walkable to have children.intget the ordinal within its parent node of the current node.final Objectbooleanintlevel()returns level in the tree of the current element (that is, last element returned from nextElement()).static voidvoidprune()Tell walker that we don't want to visit any (more) children of this node.voidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Enumeration
asIterator
-
Constructor Details
-
Walker
public Walker(mondrian.olap.Walkable root)
-
-
Method Details
-
hasMoreElements
public boolean hasMoreElements()- Specified by:
hasMoreElementsin interfaceEnumeration
-
nextElement
- Specified by:
nextElementin 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
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
-
getAncestor
-
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 theiDepthth ancestor. -
getChildren
Override this function to prune the tree, or to allow objects which are not Walkable to have children. -
main
-