net.sf.saxon.expr

Class UnionEnumeration

Implemented Interfaces:
LookaheadIterator, SequenceIterator

public class UnionEnumeration
extends java.lang.Object
implements SequenceIterator, LookaheadIterator

An enumeration representing a nodeset that is a union of two other NodeSets.

Fields inherited from interface net.sf.saxon.om.SequenceIterator

GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD

Constructor Summary

UnionEnumeration(SequenceIterator p1, SequenceIterator p2, NodeOrderComparer comparer)
Create the iterator.

Method Summary

Item
current()
SequenceIterator
getAnother()
int
getProperties()
Get properties of this iterator, as a bit-significant integer.
boolean
hasNext()
Determine whether there are more items to come.
Item
next()
int
position()

Constructor Details

UnionEnumeration

public UnionEnumeration(SequenceIterator p1,
                        SequenceIterator p2,
                        NodeOrderComparer comparer)
            throws XPathException
Create the iterator. The two input iterators must return nodes in document order for this to work.
Parameters:
p1 - iterator over the first operand sequence (in document order)
p2 - iterator over the second operand sequence
comparer - used to test whether nodes are in document order. Different versions are used for intra-document and cross-document operations

Method Details

current

public Item current()
Specified by:
current in interface SequenceIterator

getAnother

public SequenceIterator getAnother()
            throws XPathException
Specified by:
getAnother in interface SequenceIterator

getProperties

public int getProperties()
Get properties of this iterator, as a bit-significant integer.
Specified by:
getProperties in interface SequenceIterator
Returns:
the properties of this iterator. This will be some combination of properties such as SequenceIterator.GROUNDED, SequenceIterator.LAST_POSITION_FINDER, and SequenceIterator.LOOKAHEAD. It is always acceptable to return the value zero, indicating that there are no known special properties. It is acceptable for the properties of the iterator to change depending on its state.

hasNext

public boolean hasNext()
Specified by:
hasNext in interface LookaheadIterator
Returns:
true if there are more items in the sequence

next

public Item next()
            throws XPathException
Specified by:
next in interface SequenceIterator

position

public int position()
Specified by:
position in interface SequenceIterator