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.
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 |
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 predicatecontext
- The context in which the expression is being evaluatedfinishAfterReject:
- terminate enumeration on first failure
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