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
-
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 void
advance()
Advance along the axis until a node is found that matches the required criteriaprotected boolean
Test whether a node conforms to the node type and name constraints.protected int
count()
Count the number of nodes in the enumeration.final boolean
Determine if there are more nodes to be returnedboolean
isPeer()
Determine if the nodes are guaranteed to be peers (i.e.boolean
Determine if the nodes are guaranteed to be sorted in reverse document orderboolean
isSorted()
Determine if the nodes are guaranteed to be sorted in document orderfinal NodeInfo
Return the next node in the enumerationprotected abstract void
step()
Advance one step along the axis: the resulting node might not meet the required criteria for inclusionMethods 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
-
Field Details
-
start
-
next
-
nodeTest
-
last
protected int last
-
-
Constructor Details
-
TreeEnumeration
Create an axis enumeration for a given type and name of node, from a given origin node
-
-
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:
hasMoreElements
in interfaceAxisEnumeration
- Specified by:
hasMoreElements
in interfaceNodeEnumeration
- Returns:
- true if there are more nodes
-
nextElement
Return the next node in the enumeration- Specified by:
nextElement
in interfaceAxisEnumeration
- Specified by:
nextElement
in interfaceNodeEnumeration
- Returns:
- the next NodeInfo
-
isSorted
public boolean isSorted()Determine if the nodes are guaranteed to be sorted in document order- Specified by:
isSorted
in 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:
isReverseSorted
in 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:
isPeer
in 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.
-