Class UserFunctionParameter

java.lang.Object
net.sf.saxon.instruct.UserFunctionParameter
All Implemented Interfaces:
Serializable, Binding

public class UserFunctionParameter extends Object implements Binding, Serializable
Run-time object representing a formal argument to a user-defined function
See Also:
  • Constructor Details

    • UserFunctionParameter

      public UserFunctionParameter()
      Create a UserFunctionParameter
  • Method Details

    • isGlobal

      public final boolean isGlobal()
      Indicate whether the binding is local or global. A global binding is one that has a fixed value for the life of a query or transformation; any other binding is local.
      Specified by:
      isGlobal in interface Binding
      Returns:
      false (always)
    • isAssignable

      public final boolean isAssignable()
      Test whether it is permitted to assign to the variable using the saxon:assign extension element. This will only be for an XSLT global variable where the extra attribute saxon:assignable="yes" is present.
      Specified by:
      isAssignable in interface Binding
      Returns:
      false (always)
    • setSlotNumber

      public void setSlotNumber(int slot)
      Set the slot number to be used by this parameter
      Parameters:
      slot - the slot number, that is, the position of the parameter value within the local stack frame
    • getLocalSlotNumber

      public int getLocalSlotNumber()
      If this is a local variable held on the local stack frame, return the corresponding slot number. In other cases, return -1.
      Specified by:
      getLocalSlotNumber in interface Binding
      Returns:
      the slot number, indicating the position of the parameter on the local stack frame
    • setRequiredType

      public void setRequiredType(SequenceType type)
      Set the required type of this function parameter
      Parameters:
      type - the declared type of the parameter
    • getRequiredType

      public SequenceType getRequiredType()
      Get the required type of this function parameter
      Specified by:
      getRequiredType in interface Binding
      Returns:
      the declared type of the parameter
    • setVariableQName

      public void setVariableQName(StructuredQName name)
      Set the name of this parameter
      Parameters:
      name - the name of the parameter
    • getVariableQName

      public StructuredQName getVariableQName()
      Get the name of this parameter
      Specified by:
      getVariableQName in interface Binding
      Returns:
      the name of this parameter
    • setReferenceCount

      public void setReferenceCount(int count)
      Set the (nominal) number of references within the function body to this parameter, where a reference inside a loop is counted as multiple references
      Parameters:
      count - the nominal number of references
    • getReferenceCount

      public int getReferenceCount()
      Get the (nominal) number of references within the function body to this parameter, where a reference inside a loop is counted as multiple references
      Returns:
      the nominal number of references
    • setIndexedVariable

      public void setIndexedVariable(boolean indexed)
      Indicate that this parameter requires (or does not require) support for indexing
      Parameters:
      indexed - true if support for indexing is required. This will be set if the parameter is used in a filter expression such as $param[@a = 17]
    • isIndexedVariable

      public boolean isIndexedVariable()
      Ask whether this parameter requires support for indexing
      Returns:
      true if support for indexing is required. This will be set if the parameter is used in a filter expression such as $param[@a = 17]
    • evaluateVariable

      public ValueRepresentation evaluateVariable(XPathContext context) throws XPathException
      Evaluate this function parameter
      Specified by:
      evaluateVariable in interface Binding
      Parameters:
      context - the XPath dynamic context
      Returns:
      the value of the parameter
      Throws:
      XPathException - if an error occurs