Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.query
Class GlobalVariableDefinition

    java.lang.Object
      net.sf.saxon.query.GlobalVariableDefinition

All Implemented Interfaces:
  Declaration, javax.xml.transform.SourceLocator, VariableDeclaration

Direct Known Subclasses:
  UndeclaredVariable

public class GlobalVariableDefinition
extends java.lang.Object
implements VariableDeclaration, Declaration

Class to hold compile-time information about an XQuery global variable or parameter

Field Summary
`protected java.util.List` | `references`

Constructor Summary
`GlobalVariableDefinition()`

Method Summary
`GlobalVariable` | `compile(StaticQueryContext env, int slot)` Create a compiled representation of this global variable
`void` | `explain(NamePool pool)` Produce diagnostic output showing the compiled and optimized expression tree for a function
`int` | `getColumnNumber()` Get column number
`GlobalVariable` | `getCompiledVariable()` Get the compiled variable if the definition has been compiled
`int` | `getLineNumber()` Get the line number where the declaration appears
`int` | `getNameCode()` Get the variable name
`java.lang.String` | `getPublicId()` Get public identifier
`SequenceType` | `getRequiredType()` Get the required type of the variable
`java.lang.String` | `getSystemId()` Get the system ID of the module containing the variable declaration
`java.lang.String` | `getVariableName()` Get the name of the variable
`java.util.Iterator` | `iterateReferences()` Iterate over the references to this variable
`void` | `registerReference(BindingReference ref)` Register a variable reference that refers to this global variable
`void` | `setIsParameter(boolean b)` Indicate whether this global variable is a "parameter" (an external variable, in XQuery terminology)
`void` | `setLineNumber(int lineNumber)` Set the line number where the variable declaration appears in the source
`void` | `setNameCode(int nameCode)` Set the variable name
`void` | `setRequiredType(SequenceType type)` Set the required type of the variable
`void` | `setSystemId(java.lang.String systemId)` Set the system ID of the module where the variable declaration appears
`void` | `setValueExpression(Expression val)` Set the expression used to define the value of the variable
`void` | `setVariableName(java.lang.String variableName)` Set the variable name
`static void` | `typeCheck(StaticQueryContext env, GeneralVariable var)` Type check the compiled representation of this global variable

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### references

    protected java.util.List references

Constructor Detail

### GlobalVariableDefinition

    public GlobalVariableDefinition()

Method Detail

### setRequiredType

    public void setRequiredType(SequenceType type)

  Set the required type of the variable

  Parameters:
    `type` - the declared type, from the "as" clause if present

### getRequiredType

    public SequenceType getRequiredType()

  Get the required type of the variable

  Returns:
    the declared type, from the "as" clause if present

### setNameCode

    public void setNameCode(int nameCode)

  Set the variable name

  Parameters:
    `nameCode` - the variable name, expressed as a NamePool name code

### getNameCode

    public int getNameCode()

  Get the variable name

  Specified by:
    `getNameCode` in interface `VariableDeclaration`
  Returns:
    the variable name, expressed as a NamePool name code

### setLineNumber

    public void setLineNumber(int lineNumber)

  Set the line number where the variable declaration appears in the source

  Parameters:
    `lineNumber` - the line number

### getLineNumber

    public int getLineNumber()

  Get the line number where the declaration appears

  Specified by:
    `getLineNumber` in interface `javax.xml.transform.SourceLocator`

### getColumnNumber

    public int getColumnNumber()

  Get column number

  Specified by:
    `getColumnNumber` in interface `javax.xml.transform.SourceLocator`
  Returns:
    -1 always

### getPublicId

    public java.lang.String getPublicId()

  Get public identifier

  Specified by:
    `getPublicId` in interface `javax.xml.transform.SourceLocator`
  Returns:
    null always

### setSystemId

    public void setSystemId(java.lang.String systemId)

  Set the system ID of the module where the variable declaration appears

### getSystemId

    public java.lang.String getSystemId()

  Get the system ID of the module containing the variable declaration

  Specified by:
    `getSystemId` in interface `javax.xml.transform.SourceLocator`

### getVariableName

    public java.lang.String getVariableName()

  Get the name of the variable

  Specified by:
    `getVariableName` in interface `VariableDeclaration`
  Returns:
    the variable name, as a lexical QName

### setVariableName

    public void setVariableName(java.lang.String variableName)

  Set the variable name

  Parameters:
    `variableName` - the variable name, as a lexical QName

### setValueExpression

    public void setValueExpression(Expression val)

  Set the expression used to define the value of the variable

  Parameters:
    `val` - the initializing expression

### setIsParameter

    public void setIsParameter(boolean b)

  Indicate whether this global variable is a "parameter" (an external variable, in XQuery terminology)

  Parameters:
    `b` - true if this variable is external

### registerReference

    public void registerReference(BindingReference ref)

  Register a variable reference that refers to this global variable

  Specified by:
    `registerReference` in interface `VariableDeclaration`
  Parameters:
    `ref` - the variable reference

### iterateReferences

    public java.util.Iterator iterateReferences()

  Iterate over the references to this variable

### compile

    public GlobalVariable compile(StaticQueryContext env,
                                  int slot)
                           throws XPathException

  Create a compiled representation of this global variable

  Parameters:
    `env` - the static context for the query module
    `slot` - the slot number allocated to this variable
  Returns:
    the compiled representation
  Throws:
    `XPathException` - if compile-time errors are found.

### typeCheck

    public static void typeCheck(StaticQueryContext env,
                                 GeneralVariable var)
                          throws XPathException

  Type check the compiled representation of this global variable

  Parameters:
    `env` - the static context for the query module
  Throws:
    `XPathException` - if compile-time errors are found.

### getCompiledVariable

    public GlobalVariable getCompiledVariable()

  Get the compiled variable if the definition has been compiled

### explain

    public void explain(NamePool pool)

  Produce diagnostic output showing the compiled and optimized expression tree for a function

  Parameters:
    `pool` - the namepool to be used

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD