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.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 CompiledFilterIterator 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 SequenceIteratorgetAnother()Get another iterator to return the same nodesprotected booleanmatches()Determine whether the context item matches the filter predicate-
Methods inherited from class net.sf.saxon.expr.FilterIterator
close, current, getNextMatchingItem, getProperties, next, position, setSequence
-
-
-
-
Constructor Detail
-
NonNumeric
public NonNumeric(SequenceIterator base, Expression filter, XPathContext context)
Create a CompiledFilterIterator 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 XPathExceptionDetermine whether the context item matches the filter predicate- Overrides:
matchesin 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:
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
-
-