com.icl.saxon.tree
Class TreeEnumeration
java.lang.Object
|
+--com.icl.saxon.tree.TreeEnumeration
- All Implemented Interfaces:
- AxisEnumeration, LastPositionFinder, NodeEnumeration
- Direct Known Subclasses:
- AncestorEnumeration, ChildEnumeration, DescendantEnumeration, FollowingEnumeration, FollowingSiblingEnumeration, NamespaceEnumeration, PrecedingEnumeration, PrecedingOrAncestorEnumeration, PrecedingSiblingEnumeration
- abstract class TreeEnumeration
- extends java.lang.Object
- implements AxisEnumeration
Constructor Summary |
TreeEnumeration(NodeImpl origin,
NodeTest nodeTest)
Create an axis enumeration for a given type and name of node, from a given
origin node |
Method Summary |
protected void |
advance()
Advance along the axis until a node is found that matches the required criteria |
protected 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 returned |
boolean |
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 order |
boolean |
isSorted()
Determine if the nodes are guaranteed to be sorted in document order |
NodeInfo |
nextElement()
Return the next node in the enumeration |
protected 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 |
start
protected NodeImpl start
next
protected NodeImpl next
nodeTest
protected NodeTest nodeTest
last
protected int last
TreeEnumeration
public TreeEnumeration(NodeImpl origin,
NodeTest nodeTest)
- Create an axis enumeration for a given type and name of node, from a given
origin node
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 interface AxisEnumeration
- Following copied from interface:
com.icl.saxon.om.AxisEnumeration
- Returns:
- true if there are more nodes
nextElement
public final NodeInfo nextElement()
- Return the next node in the enumeration
- Specified by:
nextElement
in interface AxisEnumeration
- Following copied from interface:
com.icl.saxon.om.AxisEnumeration
- Returns:
- the next NodeInfo
isSorted
public boolean isSorted()
- Determine if the nodes are guaranteed to be sorted in document order
- Specified by:
isSorted
in interface NodeEnumeration
- Following copied from interface:
com.icl.saxon.om.NodeEnumeration
- 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 interface NodeEnumeration
- Following copied from interface:
com.icl.saxon.om.NodeEnumeration
- 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 interface NodeEnumeration
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.