Class PathMap.PathMapNode

  • Direct Known Subclasses:
    PathMap.PathMapRoot
    Enclosing class:
    PathMap

    public static class PathMap.PathMapNode
    extends java.lang.Object
    A node in the path map. A node holds a set of arcs, each representing a link to another node in the path map.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      PathMap.PathMapNode createArc​(AxisExpression step)
      Create a new arc
      void createArc​(AxisExpression step, PathMap.PathMapNode target)
      Create a new arc to an existing target
      PathMap.PathMapArc[] getArcs()
      Get the arcs emanating from this node in the PathMap
      boolean hasUnknownDependencies()
      Ask whether the path has unknown dependencies, typically because a node reached by the path is supplied as an argument to a user-defined function
      boolean isAtomized()
      Ask whether the typed value (or string value) of the node reached by this path will be required.
      boolean isReturnable()
      Ask whether the node represents a value that is returnable as the result of the supplied expression, rather than merely a node that is visited en route
      void setAtomized()
      Indicate that the typed value or string value of the node reached by this path will be used.
      void setHasUnknownDependencies()
      Indicate that the path has unknown dependencies, typically because a node reached by the path is supplied as an argument to a user-defined function
      void setReturnable​(boolean returnable)
      Indicate that the node represents a value that is returnable as the result of the supplied expression, rather than merely a node that is visited en route
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • createArc

        public PathMap.PathMapNode createArc​(AxisExpression step)
        Create a new arc
        Parameters:
        step - the AxisExpression representing this step
        Returns:
        the newly-constructed target of the new arc
      • createArc

        public void createArc​(AxisExpression step,
                              PathMap.PathMapNode target)
        Create a new arc to an existing target
        Parameters:
        step - the AxisExpression representing this step
        target - the target node of the new arc
      • getArcs

        public PathMap.PathMapArc[] getArcs()
        Get the arcs emanating from this node in the PathMap
        Returns:
        the arcs, each representing an AxisStep. The order of arcs in the array is undefined.
      • setReturnable

        public void setReturnable​(boolean returnable)
        Indicate that the node represents a value that is returnable as the result of the supplied expression, rather than merely a node that is visited en route
        Parameters:
        returnable - true if the node represents a final result of the expression
      • isReturnable

        public boolean isReturnable()
        Ask whether the node represents a value that is returnable as the result of the supplied expression, rather than merely a node that is visited en route
        Returns:
        true if the node represents a final result of the expression
      • setAtomized

        public void setAtomized()
        Indicate that the typed value or string value of the node reached by this path will be used.
      • isAtomized

        public boolean isAtomized()
        Ask whether the typed value (or string value) of the node reached by this path will be required.
        Returns:
        true if the typed value or string value of the node is required
      • setHasUnknownDependencies

        public void setHasUnknownDependencies()
        Indicate that the path has unknown dependencies, typically because a node reached by the path is supplied as an argument to a user-defined function
      • hasUnknownDependencies

        public boolean hasUnknownDependencies()
        Ask whether the path has unknown dependencies, typically because a node reached by the path is supplied as an argument to a user-defined function
        Returns:
        true if the path has unknown dependencies