net.sf.saxon.expr
Class FilterIterator.NonNumeric

java.lang.Object
  extended by net.sf.saxon.expr.FilterIterator
      extended by 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 interface net.sf.saxon.om.SequenceIterator
GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD
 
Constructor Summary
FilterIterator.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
 SequenceIterator getAnother()
          Get another iterator to return the same nodes
 
Methods inherited from class net.sf.saxon.expr.FilterIterator
current, getProperties, next, position
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilterIterator.NonNumeric

public FilterIterator.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 filtered
filter - the filter expression
context - the current context (for evaluating the filter expression as a whole). A new context will be created to evaluate the predicate.
Method Detail

getAnother

public SequenceIterator getAnother()
                            throws XPathException
Get another iterator to return the same nodes

Specified by:
getAnother in interface SequenceIterator
Overrides:
getAnother in class FilterIterator
Returns:
a SequenceIterator that iterates over the same items, positioned before the first item
Throws:
XPathException - if any error occurs


Copyright (C) Michael H. Kay. All rights reserved.