Package net.sf.saxon.instruct
Class Bindery
- java.lang.Object
-
- net.sf.saxon.instruct.Bindery
-
public final class Bindery extends java.lang.ObjectThe Bindery class holds information about variables and their values. From Saxon 8.1, it is used only for global variables: local variables are now held in the XPathContext object. Variables are identified by a Binding object. Values will always be of class Value.
-
-
Constructor Summary
Constructors Constructor Description Bindery()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidallocateGlobals(SlotManager map)Define how many slots are needed for global variablesvoidassignGlobalVariable(GlobalVariable binding, ValueRepresentation value)Assign a new value to a global variable.voiddefineGlobalParameters(GlobalParameterSet params)Define global parametersvoiddefineGlobalVariable(GlobalVariable binding, ValueRepresentation value)Provide a value for a global variableValueRepresentationgetGlobalVariable(int slot)Get the value of a global variable whose slot number is knownSlotManagergetGlobalVariableMap()Get the Global Variable Map, containing the mapping of variable names (fingerprints) to slot numbers.ValueRepresentation[]getGlobalVariables()Get all the global variables, as an array.ValueRepresentationgetGlobalVariableValue(GlobalVariable binding)Get the value of a global variablevoidsetExecuting(GlobalVariable binding, boolean executing)Set/Unset a flag to indicate that a particular global variable is currently being evaluated.booleanuseGlobalParameter(int fingerprint, GlobalParam binding, XPathContext context)Use global parameter.
-
-
-
Method Detail
-
allocateGlobals
public void allocateGlobals(SlotManager map)
Define how many slots are needed for global variables
-
defineGlobalParameters
public void defineGlobalParameters(GlobalParameterSet params)
Define global parameters- Parameters:
params- The ParameterSet passed in by the user, eg. from the command line
-
useGlobalParameter
public boolean useGlobalParameter(int fingerprint, GlobalParam binding, XPathContext context) throws XPathExceptionUse global parameter. This is called when a global xsl:param element is processed. If a parameter of the relevant name was supplied, it is bound to the xsl:param element. Otherwise the method returns false, so the xsl:param default will be evaluated.- Parameters:
fingerprint- The fingerprint of the parameterbinding- The XSLParam element to bind its value to- Returns:
- true if a parameter of this name was supplied, false if not
- Throws:
XPathException
-
defineGlobalVariable
public void defineGlobalVariable(GlobalVariable binding, ValueRepresentation value)
Provide a value for a global variable- Parameters:
binding- identifies the variablevalue- the value of the variable
-
setExecuting
public void setExecuting(GlobalVariable binding, boolean executing) throws XPathException
Set/Unset a flag to indicate that a particular global variable is currently being evaluated.- Throws:
XPathException- If an attempt is made to set the flag when it is already set, this means the definition of the variable is circular.
-
getGlobalVariableValue
public ValueRepresentation getGlobalVariableValue(GlobalVariable binding)
Get the value of a global variable- Parameters:
binding- the Binding that establishes the unique instance of the variable- Returns:
- the Value of the variable if defined, null otherwise.
-
getGlobalVariable
public ValueRepresentation getGlobalVariable(int slot)
Get the value of a global variable whose slot number is known- Parameters:
slot- the slot number of the required variable- Returns:
- the Value of the variable if defined, null otherwise.
-
assignGlobalVariable
public void assignGlobalVariable(GlobalVariable binding, ValueRepresentation value)
Assign a new value to a global variable. Supports saxon:assign.- Parameters:
binding- identifies the local or global variable or parameter
-
getGlobalVariableMap
public SlotManager getGlobalVariableMap()
Get the Global Variable Map, containing the mapping of variable names (fingerprints) to slot numbers. This is provided for use by debuggers.
-
getGlobalVariables
public ValueRepresentation[] getGlobalVariables()
Get all the global variables, as an array. This is provided for use by debuggers that know the layout of the global variables within the array.
-
-