Package com.icl.saxon.tinytree
Class PrecedingSiblingEnumeration
- java.lang.Object
-
- com.icl.saxon.tinytree.PrecedingSiblingEnumeration
-
- All Implemented Interfaces:
LastPositionFinder
,AxisEnumeration
,NodeEnumeration
final class PrecedingSiblingEnumeration extends java.lang.Object implements AxisEnumeration
This class supports the preceding-sibling axis. The starting node must be an element, text node, comment, or processing instruction: to ensure this, construct the enumeration using NodeInfo#getEnumeration()
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
depth
(package private) TinyDocumentImpl
document
(package private) int
last
(package private) int
nextNodeNr
(package private) TinyNodeImpl
parentNode
(package private) TinyNodeImpl
startNode
(package private) NodeTest
test
-
Constructor Summary
Constructors Modifier Constructor Description protected
PrecedingSiblingEnumeration(TinyDocumentImpl doc, TinyNodeImpl node, NodeTest nodeTest)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getLastPosition()
Get the last position, that is the number of nodes in the enumerationboolean
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 orderNodeInfo
nextElement()
Get the next node in sequence.
-
-
-
Field Detail
-
document
TinyDocumentImpl document
-
startNode
TinyNodeImpl startNode
-
nextNodeNr
int nextNodeNr
-
depth
int depth
-
test
NodeTest test
-
parentNode
TinyNodeImpl parentNode
-
last
int last
-
-
Constructor Detail
-
PrecedingSiblingEnumeration
protected PrecedingSiblingEnumeration(TinyDocumentImpl doc, TinyNodeImpl node, NodeTest nodeTest)
-
-
Method Detail
-
hasMoreElements
public boolean hasMoreElements()
Description copied from interface:AxisEnumeration
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 interfaceAxisEnumeration
- Specified by:
hasMoreElements
in interfaceNodeEnumeration
- Returns:
- true if there are more nodes
-
nextElement
public NodeInfo nextElement()
Description copied from interface:AxisEnumeration
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 interfaceAxisEnumeration
- Specified by:
nextElement
in interfaceNodeEnumeration
- Returns:
- the next NodeInfo
-
isSorted
public boolean isSorted()
Description copied from interface:NodeEnumeration
Determine whether the nodes returned by this enumeration are known to be in document order- Specified by:
isSorted
in interfaceNodeEnumeration
- Returns:
- true if the nodes are guaranteed to be in document order.
-
isReverseSorted
public boolean isReverseSorted()
Description copied from interface:NodeEnumeration
Determine whether the nodes returned by this enumeration are known to be 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()
Description copied from interface:NodeEnumeration
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 interfaceNodeEnumeration
-
getLastPosition
public int getLastPosition()
Get the last position, that is the number of nodes in the enumeration- Specified by:
getLastPosition
in interfaceAxisEnumeration
- Specified by:
getLastPosition
in interfaceLastPositionFinder
-
-