Package net.sf.saxon.expr.parser

## Class PathMap.PathMapNodeSet

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractSet<E>
    - - java.util.HashSet<PathMap.PathMapNode>
      - - net.sf.saxon.expr.parser.PathMap.PathMapNodeSet

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `java.lang.Iterable<PathMap.PathMapNode>`, `java.util.Collection<PathMap.PathMapNode>`, `java.util.Set<PathMap.PathMapNode>`
  Enclosing class:
    PathMap

      public static class PathMap.PathMapNodeSet
      extends java.util.HashSet<PathMap.PathMapNode>

  A (mutable) set of nodes in the path map
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PathMapNodeSet()` | Create an initially-empty set of path map nodes
    `PathMapNodeSet​(PathMap.PathMapNode singleton)` | Create a set of path map nodes that initially contains a single node

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addDescendants()` | Indicate that all the descendants of the nodes in this nodeset are required
    `void` | `addNodeSet​(PathMap.PathMapNodeSet nodes)` | Combine two node sets into one
    `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
    `PathMap.PathMapNodeSet` | `createArc​(int axis, NodeTest test)` | Create an arc from each node in this node set to a corresponding newly-created target node
    `boolean` | `hasReachableReturnables()` | Test whether there are any returnable nodes reachable from nodes in this nodeset
    `void` | `setAtomized()` | Set the atomized property on all nodes in this nodeset
    `void` | `setHasUnknownDependencies()` | Indicate that all the nodes have unknown dependencies
    `void` | `setReturnable​(boolean isReturned)` | Set the returnable property on all nodes in this nodeset

    - ### Methods inherited from class java.util.HashSet

      `add, clear, clone, contains, isEmpty, iterator, remove, size, spliterator`

    - ### Methods inherited from class java.util.AbstractSet

      `equals, hashCode, removeAll`

    - ### Methods inherited from class java.util.AbstractCollection

      `addAll, containsAll, retainAll, toArray, toArray, toString`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, removeIf, stream, toArray`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

    - ### Methods inherited from interface java.util.Set

      `addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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

    - #### hasReachableReturnables

          public boolean hasReachableReturnables()

      Test whether there are any returnable nodes reachable from nodes in this nodeset

    - #### 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

    - #### 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