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 SequenceIterator
getAnother()
Get another iterator to return the same nodesprotected Item
getNextMatchingItem()
Get the next node that matches the filter predicate if there is oneprotected boolean
matches()
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 XPathException
Determine whether the context item matches the filter predicate- Overrides:
matches
in 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:
getNextMatchingItem
in 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:
getAnother
in interfaceSequenceIterator
- Overrides:
getAnother
in classFilterIterator
- Returns:
- a SequenceIterator that iterates over the same items, positioned before the first item
- Throws:
XPathException
- if any error occurs
-
-