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
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
ConstructorsConstructorDescriptionNonNumeric
(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
Modifier and TypeMethodDescriptionGet another iterator to return the same nodesprotected boolean
matches()
Determine whether the context item matches the filter predicateMethods inherited from class net.sf.saxon.expr.FilterIterator
close, current, getNextMatchingItem, getProperties, next, position, setSequence
-
Constructor Details
-
NonNumeric
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 Details
-
matches
Determine whether the context item matches the filter predicate- Overrides:
matches
in classFilterIterator
- Returns:
- true if the context item matches
- Throws:
XPathException
-
getAnother
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
-