Class FilterEnumerator

  • All Implemented Interfaces:
    NodeEnumeration

    public class FilterEnumerator
    extends 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 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
        Throws:
        XPathException
    • Method Detail

      • hasMoreElements

        public boolean hasMoreElements()
        Test whether there are any more nodes available in the enumeration
        Specified by:
        hasMoreElements in interface NodeEnumeration
        Returns:
        true if there are more nodes
      • isSorted

        public boolean isSorted()
        Determine whether the nodes are guaranteed to be in document order
        Specified by:
        isSorted in interface 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
        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