Package com.icl.saxon.tree
Class TreeEnumeration
- java.lang.Object
-
- com.icl.saxon.tree.TreeEnumeration
-
- All Implemented Interfaces:
LastPositionFinder,AxisEnumeration,NodeEnumeration
- Direct Known Subclasses:
AncestorEnumeration,ChildEnumeration,DescendantEnumeration,FollowingEnumeration,FollowingSiblingEnumeration,NamespaceEnumeration,PrecedingEnumeration,PrecedingOrAncestorEnumeration,PrecedingSiblingEnumeration
abstract class TreeEnumeration extends java.lang.Object implements AxisEnumeration
-
-
Constructor Summary
Constructors Constructor Description TreeEnumeration(NodeImpl origin, NodeTest nodeTest)Create an axis enumeration for a given type and name of node, from a given origin node
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidadvance()Advance along the axis until a node is found that matches the required criteriaprotected booleanconforms(NodeImpl node)Test whether a node conforms to the node type and name constraints.protected intcount()Count the number of nodes in the enumeration.booleanhasMoreElements()Determine if there are more nodes to be returnedbooleanisPeer()Determine if the nodes are guaranteed to be peers (i.e.booleanisReverseSorted()Determine if the nodes are guaranteed to be sorted in reverse document orderbooleanisSorted()Determine if the nodes are guaranteed to be sorted in document orderNodeInfonextElement()Return the next node in the enumerationprotected abstract voidstep()Advance one step along the axis: the resulting node might not meet the required criteria for inclusion-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.icl.saxon.om.AxisEnumeration
getLastPosition
-
-
-
-
Method Detail
-
conforms
protected boolean conforms(NodeImpl node)
Test whether a node conforms to the node type and name constraints. Note that this returns true if the supplied node is null, this is a way of terminating a loop.
-
advance
protected final void advance()
Advance along the axis until a node is found that matches the required criteria
-
step
protected abstract void step()
Advance one step along the axis: the resulting node might not meet the required criteria for inclusion
-
hasMoreElements
public final boolean hasMoreElements()
Determine if there are more nodes to be returned- Specified by:
hasMoreElementsin interfaceAxisEnumeration- Specified by:
hasMoreElementsin interfaceNodeEnumeration- Returns:
- true if there are more nodes
-
nextElement
public final NodeInfo nextElement()
Return the next node in the enumeration- Specified by:
nextElementin interfaceAxisEnumeration- Specified by:
nextElementin interfaceNodeEnumeration- Returns:
- the next NodeInfo
-
isSorted
public boolean isSorted()
Determine if the nodes are guaranteed to be sorted in document order- Specified by:
isSortedin interfaceNodeEnumeration- Returns:
- true if the nodes are guaranteed to be in document order.
-
isReverseSorted
public boolean isReverseSorted()
Determine if the nodes are guaranteed to be sorted in reverse document order- Specified by:
isReverseSortedin interfaceNodeEnumeration- Returns:
- true if the nodes are guaranteed to be in document order.
-
isPeer
public boolean isPeer()
Determine if the nodes are guaranteed to be peers (i.e. no node is a descendant of another node)- Specified by:
isPeerin interfaceNodeEnumeration
-
count
protected int count()
Count the number of nodes in the enumeration. This is used to support finding the last() position. Note that it must be used on a "clean" enumeration: the enumeration must be positioned at the start, and is left positioned at the end.
-
-