net.sf.saxon.trace

## Class ContextStackFrame

- java.lang.Object
- - net.sf.saxon.trace.ContextStackFrame

- Direct Known Subclasses:
    ContextStackFrame.ApplyTemplates, ContextStackFrame.BuiltInTemplateRule, ContextStackFrame.CallingApplication, ContextStackFrame.CallTemplate, ContextStackFrame.FunctionCall, ContextStackFrame.VariableEvaluation

      public abstract class ContextStackFrame
      extends Object

  An entry on the context stack. A new entry is created every time the context changes. This is a representation of the stack created on request; it does not hold live data.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ContextStackFrame.ApplyTemplates` Subclass of ContextStackFrame representing an xsl:apply-templates call in XSLT
    `static class` | `ContextStackFrame.BuiltInTemplateRule` Subclass of ContextStackFrame representing a built-in template rule in XSLT
    `static class` | `ContextStackFrame.CallingApplication` Subclass of ContextStackFrame representing the outermost stack frame, for the calling application
    `static class` | `ContextStackFrame.CallTemplate` Subclass of ContextStackFrame representing an xsl:call-template instruction in XSLT
    `static class` | `ContextStackFrame.FunctionCall` Subclass of ContextStackFrame representing a call to a user-defined function either in XSLT or XQuery
    `static class` | `ContextStackFrame.VariableEvaluation` Subclass of ContextStackFrame representing the evaluation of a variable (typically a global variable)

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContextStackFrame()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Container` | `getContainer()` Get the container of the instruction that caused this new context to be created.
    `Item` | `getContextItem()` Get the value of the context item at this level of the context stack
    `int` | `getLineNumber()` Get the line number of the location of the instruction that caused this new context to be created
    `String` | `getSystemId()` Get the system ID representing the location of the instruction that caused this new context to be created
    `abstract void` | `print(PrintStream out)` Display a representation of the stack frame on the specified output stream
    `void` | `setContainer(Container container)` Set the container of the instruction that caused this new context to be created.
    `void` | `setContextItem(Item contextItem)` Set the value of the context item at this level of the context stack
    `void` | `setLineNumber(int lineNumber)` Set the line number of the location of the instruction that caused this new context to be created
    `void` | `setSystemId(String uri)` Set the system ID representing the location of the instruction that caused this new context to be created
    `protected String` | `showLocation()` Show the location of a call (for use by subclasses)

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ContextStackFrame

          public ContextStackFrame()

  - ### Method Detail

    - #### setSystemId

          public void setSystemId(String uri)

      Set the system ID representing the location of the instruction that caused this new context to be created
      Parameters:
        `uri` - the system ID (base URI/module URI) of the module containing the instruction

    - #### getSystemId

          public String getSystemId()

      Get the system ID representing the location of the instruction that caused this new context to be created
      Returns:
        the system ID (base URI/module URI) of the module containing the instruction

    - #### setLineNumber

          public void setLineNumber(int lineNumber)

      Set the line number of the location of the instruction that caused this new context to be created
      Parameters:
        `lineNumber` - the line number of the instruction within its containing module

    - #### getLineNumber

          public int getLineNumber()

      Get the line number of the location of the instruction that caused this new context to be created
      Returns:
        the line number of the instruction within its containing module

    - #### setContainer

          public void setContainer(Container container)

      Set the container of the instruction that caused this new context to be created. This will generally be an object such as an XSLT Template or a user-defined function
      Parameters:
        `container` - the container of the instruction

    - #### getContainer

          public Container getContainer()

      Get the container of the instruction that caused this new context to be created. This will generally be an object such as an XSLT Template or a user-defined function
      Returns:
        the container of the instruction in the expression tree

    - #### setContextItem

          public void setContextItem(Item contextItem)

      Set the value of the context item at this level of the context stack
      Parameters:
        `contextItem` - the context item as it was when this new context was created

    - #### getContextItem

          public Item getContextItem()

      Get the value of the context item at this level of the context stack
      Returns:
        the context item as it was when this new context was created

    - #### print

          public abstract void print(PrintStream out)

      Display a representation of the stack frame on the specified output stream
      Parameters:
        `out` - the output stream

    - #### showLocation

          protected String showLocation()

      Show the location of a call (for use by subclasses)
      Returns:
        typically "(" + systemId() + "#" + lineNumber() + ")"

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.