## net.sf.saxon.expr
Class PathMap.PathMapNode

    java.lang.Object
      net.sf.saxon.expr.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
`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

Copyright (c) Saxonica Limited. All rights reserved.