Class XUnresolvedVariable

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, ExpressionNode, XPathVisitable

    public class XUnresolvedVariable
    extends XObject
    An instance of this class holds unto a variable until it is executed. It is used at this time for global variables which must (we think) forward reference.
    See Also:
    Serialized Form
    • Constructor Detail

      • XUnresolvedVariable

        public XUnresolvedVariable​(ElemVariable obj,
                                   int sourceNode,
                                   TransformerImpl transformer,
                                   int varStackPos,
                                   int varStackContext,
                                   boolean isGlobal)
        Create an XUnresolvedVariable, that may be executed at a later time. This is primarily used so that forward referencing works with global variables. An XUnresolvedVariable is initially pushed into the global variable stack, and then replaced with the real thing when it is accessed.
        Parameters:
        obj - Must be a non-null reference to an ElemVariable.
        sourceNode - The node context for execution.
        transformer - The transformer execution context.
        varStackPos - An index to the point in the variable stack where we should begin variable searches for evaluation of expressions.
        varStackContext - An index into the variable stack where the variable context ends, i.e. at the point we should terminate the search.
        isGlobal - true if this is a global variable.
    • Method Detail

      • execute

        public XObject execute​(XPathContext xctxt)
                        throws javax.xml.transform.TransformerException
        For support of literal objects in xpaths.
        Overrides:
        execute in class XObject
        Parameters:
        xctxt - The XPath execution context.
        Returns:
        This object.
        Throws:
        javax.xml.transform.TransformerException
      • setVarStackPos

        public void setVarStackPos​(int top)
        Set an index to the point in the variable stack where we should begin variable searches for evaluation of expressions. This is -1 if m_isTopLevel is false.
        Parameters:
        top - A valid value that specifies where in the variable stack the search should begin.
      • setVarStackContext

        public void setVarStackContext​(int bottom)
        Set an index into the variable stack where the variable context ends, i.e. at the point we should terminate the search.
        Parameters:
        bottom - The point at which the search should terminate, normally zero for global variables.
      • getType

        public int getType()
        Tell what kind of class this is.
        Overrides:
        getType in class XObject
        Returns:
        CLASS_UNRESOLVEDVARIABLE
      • getTypeString

        public java.lang.String getTypeString()
        Given a request type, return the equivalent string. For diagnostic purposes.
        Overrides:
        getTypeString in class XObject
        Returns:
        An informational string.