com.icl.saxon.tinytree

Class SiblingEnumeration

Implemented Interfaces:
AxisEnumeration, LastPositionFinder, NodeEnumeration

(package private) final class SiblingEnumeration
extends java.lang.Object
implements AxisEnumeration

This class supports both the child:: and following-sibling:: axes, which are identical except for the route to the first candidate node. It enumerates either the children or the following siblings of the specified node. In the case of children, the specified node must always be a node that has children: to ensure this, construct the enumeration using NodeInfo#getEnumeration()

Field Summary

(package private) TinyDocumentImpl
document
(package private) boolean
getChildren
(package private) int
last
(package private) int
nextNodeNr
(package private) TinyNodeImpl
parentNode
(package private) TinyNodeImpl
startNode
(package private) NodeTest
test

Constructor Summary

SiblingEnumeration(TinyDocumentImpl doc, TinyNodeImpl node, NodeTest nodeTest, boolean getChildren)

Method Summary

int
getLastPosition()
Get the last position, that is the number of nodes in the enumeration
boolean
hasMoreElements()
Determine whether there are more nodes to come.
boolean
isPeer()
Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node.
boolean
isReverseSorted()
Determine whether the nodes returned by this enumeration are known to be in reverse document order.
boolean
isSorted()
Determine whether the nodes returned by this enumeration are known to be in document order
NodeInfo
nextElement()
Get the next node in sequence.

Field Details

document

(package private)  TinyDocumentImpl document

getChildren

(package private)  boolean getChildren

last

(package private)  int last

nextNodeNr

(package private)  int nextNodeNr

parentNode

(package private)  TinyNodeImpl parentNode

startNode

(package private)  TinyNodeImpl startNode

test

(package private)  NodeTest test

Constructor Details

SiblingEnumeration

protected SiblingEnumeration(TinyDocumentImpl doc,
                             TinyNodeImpl node,
                             NodeTest nodeTest,
                             boolean getChildren)

Method Details

getLastPosition

public int getLastPosition()
Get the last position, that is the number of nodes in the enumeration
Specified by:
getLastPosition in interface AxisEnumeration
getLastPosition in interface LastPositionFinder

hasMoreElements

public boolean hasMoreElements()
Determine whether there are more nodes to come.
(Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).
Specified by:
hasMoreElements in interface AxisEnumeration
hasMoreElements in interface NodeEnumeration
Returns:
true if there are more nodes

isPeer

public boolean isPeer()
Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node. This significance of this property is that if a peer enumeration is applied to each node in a set derived from another peer enumeration, and if both enumerations are sorted, then the result is also sorted.
Specified by:
isPeer in interface NodeEnumeration

isReverseSorted

public boolean isReverseSorted()
Determine whether the nodes returned by this enumeration are known to be in reverse document order.
Specified by:
isReverseSorted in interface NodeEnumeration
Returns:
true if the nodes are guaranteed to be in document order.

isSorted

public boolean isSorted()
Determine whether the nodes returned by this enumeration are known to be in document order
Specified by:
isSorted in interface NodeEnumeration
Returns:
true if the nodes are guaranteed to be in document order.

nextElement

public NodeInfo nextElement()
Get the next node in sequence.
(Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).
Specified by:
nextElement in interface AxisEnumeration
nextElement in interface NodeEnumeration
Returns:
the next NodeInfo