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 void
advance()
Advance along the axis until a node is found that matches the required criteriaprotected boolean
conforms(NodeImpl node)
Test whether a node conforms to the node type and name constraints.protected int
count()
Count the number of nodes in the enumeration.boolean
hasMoreElements()
Determine if there are more nodes to be returnedboolean
isPeer()
Determine if the nodes are guaranteed to be peers (i.e.boolean
isReverseSorted()
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 orderNodeInfo
nextElement()
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 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:
hasMoreElements
in interfaceAxisEnumeration
- Specified by:
hasMoreElements
in interfaceNodeEnumeration
- Returns:
- true if there are more nodes
-
nextElement
public final NodeInfo 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.
-
-