Package net.sf.saxon.expr
Class FilterIterator.Leading
- java.lang.Object
-
- net.sf.saxon.expr.FilterIterator
-
- net.sf.saxon.expr.FilterIterator.Leading
-
- All Implemented Interfaces:
SequenceIterator
- Enclosing class:
- FilterIterator
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
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceIteratorgetAnother()Get another iterator to return the same nodesprotected ItemgetNextMatchingItem()Get the next node that matches the filter predicate if there is oneprotected booleanmatches()Determine whether the context item matches the filter predicate-
Methods inherited from class net.sf.saxon.expr.FilterIterator
close, current, getProperties, next, position
-
-
-
-
Constructor Detail
-
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 filteredfilter- the filter expression - always evaluated as a booleancontext- the outer context for the filter expression as a whole; a new context will be created for evaluating the predicate
-
-
Method Detail
-
matches
protected boolean matches() throws XPathExceptionDetermine whether the context item matches the filter predicate- Overrides:
matchesin classFilterIterator- Returns:
- true if the context item matches
- Throws:
XPathException
-
getNextMatchingItem
protected Item getNextMatchingItem() throws XPathException
Get the next node that matches the filter predicate if there is one- Overrides:
getNextMatchingItemin classFilterIterator- Returns:
- the next item that matches the predicate
- Throws:
XPathException
-
getAnother
public SequenceIterator getAnother() throws XPathException
Get another iterator to return the same nodes- Specified by:
getAnotherin interfaceSequenceIterator- Overrides:
getAnotherin classFilterIterator- Returns:
- a SequenceIterator that iterates over the same items, positioned before the first item
- Throws:
XPathException- if any error occurs
-
-