Class DOMSubTreeData.DelayedNodeIterator

java.lang.Object
org.apache.jcp.xml.dsig.internal.dom.DOMSubTreeData.DelayedNodeIterator
All Implemented Interfaces:
Iterator<Node>
Enclosing class:
DOMSubTreeData

static class DOMSubTreeData.DelayedNodeIterator extends Object implements Iterator<Node>
This is an Iterator that contains a backing node-set that is not populated until the caller first attempts to advance the iterator.
  • Field Details

    • root

      private Node root
    • nodeSet

      private List<Node> nodeSet
    • li

      private ListIterator<Node> li
    • withComments

      private boolean withComments
  • Constructor Details

    • DelayedNodeIterator

      DelayedNodeIterator(Node root, boolean excludeComments)
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<Node>
    • next

      public Node next()
      Specified by:
      next in interface Iterator<Node>
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<Node>
    • dereferenceSameDocumentURI

      private List<Node> dereferenceSameDocumentURI(Node node)
      Dereferences a same-document URI fragment.
      Parameters:
      node - the node (document or element) referenced by the URI fragment. If null, returns an empty set.
      Returns:
      a set of nodes (minus any comment nodes)
    • nodeSetMinusCommentNodes

      private void nodeSetMinusCommentNodes(Node node, List<Node> nodeSet, Node prevSibling)
      Recursively traverses the subtree, and returns an XPath-equivalent node-set of all nodes traversed, excluding any comment nodes, if specified.
      Parameters:
      node - the node to traverse
      nodeSet - the set of nodes traversed so far
      prevSibling - the previous sibling node