net.sf.saxon.expr

Class FilterIterator.Leading

Enclosing Class:
FilterIterator
Implemented Interfaces:
SequenceIterator

public static final class FilterIterator.Leading
extends FilterIterator

Subclass to support the extension function saxon:leading, which terminates the iteration at the first item whose predicate is false

Nested Class Summary

Nested classes/interfaces inherited from class net.sf.saxon.expr.FilterIterator

FilterIterator.Leading, FilterIterator.NonNumeric

Field Summary

Fields inherited from class net.sf.saxon.expr.FilterIterator

base, filter, filterContext

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

GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD

Constructor Summary

Leading(SequenceIterator base, Expression filter, XPathContext context)
Create a FilterIterate that terminates at the first item for which the predicate evaluates to false

Method Summary

SequenceIterator
getAnother()
Get another iterator to return the same nodes
protected Item
getNextMatchingItem()
Get the next node that matches the filter predicate if there is one
protected boolean
matches()
Determine whether the context item matches the filter predicate

Methods inherited from class net.sf.saxon.expr.FilterIterator

current, getAnother, getNextMatchingItem, getProperties, matches, next, position

Constructor Details

Leading

public Leading(SequenceIterator base,
               Expression filter,
               XPathContext context)
Create a FilterIterate that terminates at the first item for which the predicate evaluates to false
Parameters:
base - iterator over the sequence to be filtered
filter - the filter expression - always evaluated as a boolean
context - the outer context for the filter expression as a whole; a new context will be created for evaluating the predicate

Method Details

getAnother

public SequenceIterator getAnother()
            throws XPathException
Get another iterator to return the same nodes
Specified by:
getAnother in interface SequenceIterator
Overrides:
getAnother in interface FilterIterator

getNextMatchingItem

protected Item getNextMatchingItem()
            throws XPathException
Get the next node that matches the filter predicate if there is one
Overrides:
getNextMatchingItem in interface FilterIterator

matches

protected boolean matches()
            throws XPathException
Determine whether the context item matches the filter predicate
Overrides:
matches in interface FilterIterator