Class SlotManager

  • All Implemented Interfaces:
    java.io.Serializable

    public class SlotManager
    extends java.lang.Object
    implements java.io.Serializable
    A SlotManager supports functions, templates, etc: specifically, any executable code that requires a stack frame containing local variables. In XSLT a SlotManager underpins any top-level element that can contain local variable declarations, specifically, a top-level xsl:template, xsl:variable, xsl:param, or xsl:function element or an xsl:attribute-set element or xsl:key element. In XQuery it underpins functions and global variables. The purpose of the SlotManager is to allocate slot numbers to variables in the stack, and to record how many slots are needed. A Debugger may define a subclass with additional functionality.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SlotManager()
      The constructor should not be called directly.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int allocateSlotNumber​(int fingerprint)
      Allocate a slot number for a variable
      int getNumberOfVariables()
      Get number of variables (size of stack frame)
      java.util.List getVariableMap()
      Get the variable map (simply a list of fingerprints of the variable names).
      void setNumberOfVariables​(int numberOfVariables)
      Set the number of variables
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SlotManager

        public SlotManager()
        The constructor should not be called directly. A new SlotManager should be obtained using the factory method in the Configuration object.
    • Method Detail

      • getNumberOfVariables

        public int getNumberOfVariables()
        Get number of variables (size of stack frame)
      • setNumberOfVariables

        public void setNumberOfVariables​(int numberOfVariables)
        Set the number of variables
        Parameters:
        numberOfVariables -
      • allocateSlotNumber

        public int allocateSlotNumber​(int fingerprint)
        Allocate a slot number for a variable
      • getVariableMap

        public java.util.List getVariableMap()
        Get the variable map (simply a list of fingerprints of the variable names). Note that it is possible for several variables to have the same name.