|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.expr.instruct.Bindery
public final class Bindery
The 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 | |
---|---|
Bindery()
|
Method Summary | |
---|---|
void |
allocateGlobals(SlotManager map)
Define how many slots are needed for global variables |
void |
assignGlobalVariable(GlobalVariable binding,
ValueRepresentation value)
Assign a new value to a global variable. |
void |
defineGlobalParameters(GlobalParameterSet params)
Define global parameters |
void |
defineGlobalVariable(GlobalVariable binding,
ValueRepresentation value)
Provide a value for a global variable |
ValueRepresentation |
getGlobalVariable(int slot)
Get the value of a global variable whose slot number is known |
SlotManager |
getGlobalVariableMap()
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. |
ValueRepresentation |
getGlobalVariableValue(GlobalVariable binding)
Get the value of a global variable |
boolean |
isApplyFunctionConversionRulesToExternalVariables()
Ask whether the function conversion rules should be applied to supplied parameter values. |
void |
registerDependency(GlobalVariable one,
GlobalVariable two)
Register the dependency of one variable ("one") upon another ("two"), throwing an exception if this would establish a cycle of dependencies. |
ValueRepresentation |
saveGlobalVariableValue(GlobalVariable binding,
ValueRepresentation value)
Save the value of a global variable, and mark evaluation as complete. |
void |
setApplyFunctionConversionRulesToExternalVariables(boolean convert)
Say whether the function conversion rules should be applied to supplied parameter values. |
boolean |
setExecuting(GlobalVariable binding)
Set/Unset a flag to indicate that a particular global variable is currently being evaluated. |
void |
setGlobalVariable(int slot,
ValueRepresentation value)
Set the value of a global variable whose slot number is known |
void |
setNotExecuting(GlobalVariable binding)
Indicate that a global variable is not currently being evaluated |
boolean |
useGlobalParameter(StructuredQName qName,
int slot,
SequenceType requiredType,
XPathContext context)
Use global parameter. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Bindery()
Method Detail |
---|
public void allocateGlobals(SlotManager map)
map
- the SlotManager that keeps track of slot allocation for global variables.public void setApplyFunctionConversionRulesToExternalVariables(boolean convert)
convert
- true if function conversion rules are to be applied to supplied
values; if false, the supplied value must match the required type exactly.public boolean isApplyFunctionConversionRulesToExternalVariables()
public void defineGlobalParameters(GlobalParameterSet params)
params
- The ParameterSet passed in by the user, eg. from the command linepublic boolean useGlobalParameter(StructuredQName qName, int slot, SequenceType requiredType, XPathContext context) throws XPathException
qName
- The name of the parameterslot
- The slot number allocated to the parameterrequiredType
- The declared type of the parametercontext
- the XPath dynamic evaluation context
XPathException
- if a dynamic error occurs, for example if the supplied parameter value
does not match the required typepublic void defineGlobalVariable(GlobalVariable binding, ValueRepresentation value)
binding
- identifies the variablevalue
- the value of the variablepublic boolean setExecuting(GlobalVariable binding) throws XPathException
binding
- the global variable in question
XPathException
- If an attempt is made to set the flag when it is already set, this means
the definition of the variable is circular.public void setNotExecuting(GlobalVariable binding)
binding
- the global variablepublic ValueRepresentation saveGlobalVariableValue(GlobalVariable binding, ValueRepresentation value)
binding
- the global variable in questionvalue
- the value that this thread has obtained by evaluating the variable
public ValueRepresentation getGlobalVariableValue(GlobalVariable binding)
binding
- the Binding that establishes the unique instance of the variable
public ValueRepresentation getGlobalVariable(int slot)
slot
- the slot number of the required variable
public void setGlobalVariable(int slot, ValueRepresentation value)
slot
- the slot number of the required variablevalue
- the Value of the variable if defined, null otherwise.public void assignGlobalVariable(GlobalVariable binding, ValueRepresentation value)
binding
- identifies the global variable or parametervalue
- the value to be assigned to the variablepublic SlotManager getGlobalVariableMap()
public ValueRepresentation[] getGlobalVariables()
public void registerDependency(GlobalVariable one, GlobalVariable two) throws XPathException
one
- the first (dependent) variabletwo
- the second (dependee) variable
XPathException
- if adding this dependency creates a cycle of dependencies among global variables.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |