Package com.icl.saxon.expr
Class LookaheadEnumerator
- java.lang.Object
-
- com.icl.saxon.expr.LookaheadEnumerator
-
- All Implemented Interfaces:
LastPositionFinder,NodeEnumeration
public class LookaheadEnumerator extends java.lang.Object implements NodeEnumeration, LastPositionFinder
A LookaheadEnumerator passes the nodes from a base enumerator throgh unchanged. The complication is that on request, it must determine the value of the last() position, which requires a lookahead. A LookaheadEnumerator should only be used to wrap a NodeEnumeration that cannot determine the last() position for itself, i.e. one that is not a LastPositionFinder.
-
-
Constructor Summary
Constructors Constructor Description LookaheadEnumerator(NodeEnumeration base)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetLastPosition()Do lookahead to find the last position, if requiredbooleanhasMoreElements()Determine whether there are any more nodes to hand to the clientbooleanisPeer()Determine whether the nodes are guaranteed to be peersbooleanisReverseSorted()Determine whether the nodes returned by this enumeration are known to be in reverse document order.booleanisSorted()Determine whether the nodes are guaranteed to be in document orderNodeInfonextElement()Hand the next node to the client
-
-
-
Constructor Detail
-
LookaheadEnumerator
public LookaheadEnumerator(NodeEnumeration base)
Constructor- Parameters:
base- An NodeEnumerator that delivers the nodes, but that cannot determine the last position count.
-
-
Method Detail
-
hasMoreElements
public boolean hasMoreElements()
Determine whether there are any more nodes to hand to the client- Specified by:
hasMoreElementsin interfaceNodeEnumeration- Returns:
- true if there are more nodes
-
nextElement
public NodeInfo nextElement() throws XPathException
Hand the next node to the client- Specified by:
nextElementin interfaceNodeEnumeration- Returns:
- the next NodeInfo
- Throws:
XPathException
-
getLastPosition
public int getLastPosition() throws XPathExceptionDo lookahead to find the last position, if required- Specified by:
getLastPositionin interfaceLastPositionFinder- Throws:
XPathException
-
isSorted
public boolean isSorted()
Determine whether the nodes are guaranteed to be in document order- Specified by:
isSortedin interfaceNodeEnumeration- Returns:
- true if the nodes are guaranteed to be in document order.
-
isReverseSorted
public boolean isReverseSorted()
Description copied from interface:NodeEnumerationDetermine whether the nodes returned by this enumeration are known to be in reverse document order.- Specified by:
isReverseSortedin interfaceNodeEnumeration- Returns:
- true if the nodes are guaranteed to be in document order.
-
isPeer
public boolean isPeer()
Determine whether the nodes are guaranteed to be peers- Specified by:
isPeerin interfaceNodeEnumeration
-
-