Package net.sf.saxon.expr
Class FilterIterator.NonNumeric
- java.lang.Object
-
- net.sf.saxon.expr.FilterIterator
-
- net.sf.saxon.expr.FilterIterator.NonNumeric
-
- All Implemented Interfaces:
SequenceIterator
- Enclosing class:
- FilterIterator
public static final class FilterIterator.NonNumeric extends FilterIterator
Subclass to handle the common special case where it is statically known that the filter cannot return a numeric value
-
-
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 NonNumeric(SequenceIterator base, Expression filter, XPathContext context)
Create a FilterIterator for the situation where it is known that the filter expression will never evaluate to a number value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceIterator
getAnother()
Get another iterator to return the same nodesprotected boolean
matches()
Determine whether the context item matches the filter predicate-
Methods inherited from class net.sf.saxon.expr.FilterIterator
close, current, getNextMatchingItem, getProperties, next, position
-
-
-
-
Constructor Detail
-
NonNumeric
public NonNumeric(SequenceIterator base, Expression filter, XPathContext context)
Create a FilterIterator for the situation where it is known that the filter expression will never evaluate to a number value. For this case we can simply use the effective boolean value of the predicate- Parameters:
base
- iterator over the sequence to be filteredfilter
- the filter expressioncontext
- the current context (for evaluating the filter expression as a whole). A new context will be created to evaluate 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
-
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
-
-