Class PathMap.PathMapNodeSet

All Implemented Interfaces:
Serializable, Cloneable, Iterable<PathMap.PathMapNode>, Collection<PathMap.PathMapNode>, Set<PathMap.PathMapNode>
Enclosing class:
PathMap

public static class PathMap.PathMapNodeSet extends HashSet<PathMap.PathMapNode>
A (mutable) set of nodes in the path map
See Also:
  • Constructor Details

    • PathMapNodeSet

      public PathMapNodeSet()
      Create an initially-empty set of path map nodes
    • PathMapNodeSet

      public PathMapNodeSet(PathMap.PathMapNode singleton)
      Create a set of path map nodes that initially contains a single node
      Parameters:
      singleton - the single node to act as the initial content
  • Method Details

    • createArc

      public PathMap.PathMapNodeSet createArc(int axis, NodeTest test)
      Create an arc from each node in this node set to a corresponding newly-created target node
      Parameters:
      axis - the axis of the step defining the transition
      test - the node test of the step defining the transition
      Returns:
      the set of new target nodes
    • addNodeSet

      public void addNodeSet(PathMap.PathMapNodeSet nodes)
      Combine two node sets into one
      Parameters:
      nodes - the set of nodes to be added to this set
    • setAtomized

      public void setAtomized()
      Set the atomized property on all nodes in this nodeset
    • setReturnable

      public void setReturnable(boolean isReturned)
      Set the returnable property on all nodes in this nodeset
      Parameters:
      isReturned - true if nodes should be returnable
    • hasReachableReturnables

      public boolean hasReachableReturnables()
      Test whether there are any returnable nodes reachable from nodes in this nodeset
      Returns:
      true if there are any reachable returnable nodes
    • allPathsAreWithinStreamableSnapshot

      public boolean allPathsAreWithinStreamableSnapshot()
      Determine whether the path is entirely within a streamable snapshot of a streamed document: that is, it must only navigate to ancestors and to attributes of ancestors
      Returns:
      true if the path is entirely within a streamable snapshot
    • addDescendants

      public void addDescendants()
      Indicate that all the descendants of the nodes in this nodeset are required
    • setHasUnknownDependencies

      public void setHasUnknownDependencies()
      Indicate that all the nodes have unknown dependencies