Class 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.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int max  
      (package private) int min  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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
    • Field Detail

      • min

        int min
      • max

        int max
    • 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