: Class FilterEnumerator

com.icl.saxon.expr
Class FilterEnumerator


java.lang.Object

  |

  +--com.icl.saxon.expr.FilterEnumerator

All Implemented Interfaces:
NodeEnumeration

public class FilterEnumerator
extends java.lang.Object
implements NodeEnumeration

A FilterEnumerator filters an input NodeEnumeration using a filter expression. The complication is that on request, it must determine the value of the last() position, which requires a lookahead.


Constructor Summary
FilterEnumerator(NodeEnumeration base, Expression filter, Context context, boolean finishAfterReject)
          Constructor
 
Method Summary
 boolean hasMoreElements()
          Test whether there are any more nodes available in the enumeration
 boolean isPeer()
          Determine whether the nodes are guaranteed to be peers
 boolean isReverseSorted()
          Determine whether the nodes returned by this enumeration are known to be in reverse document order.
 boolean isSorted()
          Determine whether the nodes are guaranteed to be in document order
 NodeInfo nextElement()
          Get the next node if there is one
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilterEnumerator


public FilterEnumerator(NodeEnumeration base,
                        Expression filter,
                        Context context,
                        boolean finishAfterReject)
                 throws XPathException
Constructor
Parameters:
base - A node-set expression denoting the absolute or relative set of nodes from which the navigation path should start.
filter - The expression defining the filter predicate
context - The context in which the expression is being evaluated
finishAfterReject: - terminate enumeration on first failure
Method Detail

hasMoreElements


public boolean hasMoreElements()
Test whether there are any more nodes available in the enumeration
Specified by:
hasMoreElements in interface NodeEnumeration
Following copied from interface: com.icl.saxon.om.NodeEnumeration
Returns:
true if there are more nodes

nextElement


public NodeInfo nextElement()
                     throws XPathException
Get the next node if there is one
Specified by:
nextElement in interface NodeEnumeration
Following copied from interface: com.icl.saxon.om.NodeEnumeration
Returns:
the next NodeInfo

isSorted


public boolean isSorted()
Determine whether the nodes are guaranteed to be in document order
Specified by:
isSorted in interface NodeEnumeration
Following copied from interface: com.icl.saxon.om.NodeEnumeration
Returns:
true if the nodes are guaranteed to be in document order.

isReverseSorted


public boolean isReverseSorted()
Description copied from interface: NodeEnumeration
Determine whether the nodes returned by this enumeration are known to be in reverse document order.
Specified by:
isReverseSorted in interface NodeEnumeration
Following copied from interface: com.icl.saxon.om.NodeEnumeration
Returns:
true if the nodes are guaranteed to be in document order.

isPeer


public boolean isPeer()
Determine whether the nodes are guaranteed to be peers
Specified by:
isPeer in interface NodeEnumeration