net.sf.saxon.expr

Class PathMap.PathMapNode

Enclosing Class:
PathMap
Known Direct Subclasses:
PathMap.PathMapRoot

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

Method Details

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.

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

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

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.

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

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