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
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTreeEnumeration(NodeImpl origin, NodeTest nodeTest) Create an axis enumeration for a given type and name of node, from a given origin node -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidadvance()Advance along the axis until a node is found that matches the required criteriaprotected booleanTest whether a node conforms to the node type and name constraints.protected intcount()Count the number of nodes in the enumeration.final booleanDetermine if there are more nodes to be returnedbooleanisPeer()Determine if the nodes are guaranteed to be peers (i.e.booleanDetermine if the nodes are guaranteed to be sorted in reverse document orderbooleanisSorted()Determine if the nodes are guaranteed to be sorted in document orderfinal NodeInfoReturn the next node in the enumerationprotected abstract voidstep()Advance one step along the axis: the resulting node might not meet the required criteria for inclusionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AxisEnumeration
getLastPosition
-
Field Details
-
start
-
next
-
nodeTest
-
last
protected int last
-
-
Constructor Details
-
TreeEnumeration
-
-
Method Details
-
conforms
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
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.
-