blob: b545c4b57d9003b361d1d032935b0e29ada5da4c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_18) on Sun Apr 01 21:18:39 PDT 2012 -->
<TITLE>
VariableStack
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xpath.VariableStack class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="VariableStack";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/VariableStack.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/apache/xpath/SourceTreeManager.html" title="class in org.apache.xpath"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/xpath/WhitespaceStrippingElementMatcher.html" title="interface in org.apache.xpath"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/apache/xpath/VariableStack.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="VariableStack.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.xpath</FONT>
<BR>
Class VariableStack</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.xpath.VariableStack</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable</DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/xpath/jaxp/JAXPVariableStack.html" title="class in org.apache.xpath.jaxp">JAXPVariableStack</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.37"><B>VariableStack</B></A><DT>extends java.lang.Object<DT>implements java.lang.Cloneable</DL>
</PRE>
<P>
Defines a class to keep track of a stack for
template arguments and variables.
<p>This has been changed from the previous incarnations of this
class to be fairly low level.</p>
<P>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#_currentFrameBottom">_currentFrameBottom</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The bottom index of the current frame (relative to <code>_stackFrames</code>).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>(package private) &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#_frameTop">_frameTop</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The top of the stack frame (<code>_stackFrames</code>).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>(package private) &nbsp;int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#_links">_links</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The stack of frame positions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>(package private) &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#_linksTop">_linksTop</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The top of the links stack.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>(package private) &nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#_stackFrames">_stackFrames</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The stack frame where all variables and params will be kept.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#CLEARLIMITATION">CLEARLIMITATION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limitation for 1K</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#m_nulls">m_nulls</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEEDSDOC Field m_nulls</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#VariableStack()">VariableStack</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for a variable stack.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#VariableStack(int)">VariableStack</A></B>(int&nbsp;initStackSize)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for a variable stack.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#clearLocalSlots(int, int)">clearLocalSlots</A></B>(int&nbsp;start,
int&nbsp;len)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use this to clear the variables in a section of the stack.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#clone()">clone</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a clone of this variable stack.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#elementAt(int)">elementAt</A></B>(int&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the element at the given index, regardless of stackframe.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getGlobalVariable(org.apache.xpath.XPathContext, int)">getGlobalVariable</A></B>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a global variable or parameter from the global stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getGlobalVariable(org.apache.xpath.XPathContext, int, boolean)">getGlobalVariable</A></B>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index,
boolean&nbsp;destructiveOK)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a global variable or parameter from the global stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getLocalVariable(int, int)">getLocalVariable</A></B>(int&nbsp;index,
int&nbsp;frame)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a local variable or parameter in the current stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getLocalVariable(org.apache.xpath.XPathContext, int)">getLocalVariable</A></B>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a local variable or parameter in the current stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getLocalVariable(org.apache.xpath.XPathContext, int, boolean)">getLocalVariable</A></B>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index,
boolean&nbsp;destructiveOK)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a local variable or parameter in the current stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getStackFrame()">getStackFrame</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the position from where the search should start,
which is either the searchStart property, or the top
of the stack if that value is -1.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#getVariableOrParam(org.apache.xpath.XPathContext, org.apache.xml.utils.QName)">getVariableOrParam</A></B>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
<A HREF="../../../org/apache/xml/utils/QName.html" title="class in org.apache.xml.utils">QName</A>&nbsp;qname)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a variable based on it's qualified name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#isLocalSet(int)">isLocalSet</A></B>(int&nbsp;index)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tell if a local variable has been set or not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#link(int)">link</A></B>(int&nbsp;size)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allocates memory (called a stackframe) on the stack; used to store
local variables and parameter arguments.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#reset()">reset</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset the stack to a start position.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#reset(int, int)">reset</A></B>(int&nbsp;linksSize,
int&nbsp;varArraySize)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset the stack to a start position.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#setGlobalVariable(int, org.apache.xpath.objects.XObject)">setGlobalVariable</A></B>(int&nbsp;index,
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>&nbsp;val)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a global variable or parameter in the global stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#setLocalVariable(int, org.apache.xpath.objects.XObject)">setLocalVariable</A></B>(int&nbsp;index,
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>&nbsp;val)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a local variable or parameter in the current stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#setLocalVariable(int, org.apache.xpath.objects.XObject, int)">setLocalVariable</A></B>(int&nbsp;index,
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>&nbsp;val,
int&nbsp;stackFrame)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a local variable or parameter in the specified stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#setStackFrame(int)">setStackFrame</A></B>(int&nbsp;sf)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the current stack frame.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#size()">size</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get size of the stack.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#unlink()">unlink</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Free up the stack frame that was last allocated with
<A HREF="../../../org/apache/xpath/VariableStack.html#link(int)"><CODE>link(int size)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xpath/VariableStack.html#unlink(int)">unlink</A></B>(int&nbsp;currentFrame)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Free up the stack frame that was last allocated with
<A HREF="../../../org/apache/xpath/VariableStack.html#link(int)"><CODE>link(int size)</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="CLEARLIMITATION"><!-- --></A><H3>
CLEARLIMITATION</H3>
<PRE>
public static final int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.42"><B>CLEARLIMITATION</B></A></PRE>
<DL>
<DD>limitation for 1K
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.apache.xpath.VariableStack.CLEARLIMITATION">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="_stackFrames"><!-- --></A><H3>
_stackFrames</H3>
<PRE>
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>[] <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.86"><B>_stackFrames</B></A></PRE>
<DL>
<DD>The stack frame where all variables and params will be kept.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="_frameTop"><!-- --></A><H3>
_frameTop</H3>
<PRE>
int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.92"><B>_frameTop</B></A></PRE>
<DL>
<DD>The top of the stack frame (<code>_stackFrames</code>).
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="_currentFrameBottom"><!-- --></A><H3>
_currentFrameBottom</H3>
<PRE>
private int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.98"><B>_currentFrameBottom</B></A></PRE>
<DL>
<DD>The bottom index of the current frame (relative to <code>_stackFrames</code>).
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="_links"><!-- --></A><H3>
_links</H3>
<PRE>
int[] <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.106"><B>_links</B></A></PRE>
<DL>
<DD>The stack of frame positions. I call 'em links because of distant
<a href="http://math.millikin.edu/mprogers/Courses/currentCourses/CS481-ComputerArchitecture/cs481.Motorola68000.html">
Motorola 68000 assembler</a> memories. :-)
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="_linksTop"><!-- --></A><H3>
_linksTop</H3>
<PRE>
int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.111"><B>_linksTop</B></A></PRE>
<DL>
<DD>The top of the links stack.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_nulls"><!-- --></A><H3>
m_nulls</H3>
<PRE>
private static <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>[] <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.397"><B>m_nulls</B></A></PRE>
<DL>
<DD>NEEDSDOC Field m_nulls
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="VariableStack()"><!-- --></A><H3>
VariableStack</H3>
<PRE>
public <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.47"><B>VariableStack</B></A>()</PRE>
<DL>
<DD>Constructor for a variable stack.
<P>
</DL>
<HR>
<A NAME="VariableStack(int)"><!-- --></A><H3>
VariableStack</H3>
<PRE>
public <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.57"><B>VariableStack</B></A>(int&nbsp;initStackSize)</PRE>
<DL>
<DD>Constructor for a variable stack.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>initStackSize</CODE> - The initial stack size. Must be at least one. The
stack can grow if needed.</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public java.lang.Object <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.70"><B>clone</B></A>()
throws java.lang.CloneNotSupportedException</PRE>
<DL>
<DD>Returns a clone of this variable stack.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a clone of this variable stack.
<DT><B>Throws:</B>
<DD><CODE>java.lang.CloneNotSupportedException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="elementAt(int)"><!-- --></A><H3>
elementAt</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.120"><B>elementAt</B></A>(int&nbsp;i)</PRE>
<DL>
<DD>Get the element at the given index, regardless of stackframe.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - index from zero.
<DT><B>Returns:</B><DD>The item at the given index.</DL>
</DD>
</DL>
<HR>
<A NAME="size()"><!-- --></A><H3>
size</H3>
<PRE>
public int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.130"><B>size</B></A>()</PRE>
<DL>
<DD>Get size of the stack.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the total size of the execution stack.</DL>
</DD>
</DL>
<HR>
<A NAME="reset()"><!-- --></A><H3>
reset</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.138"><B>reset</B></A>()</PRE>
<DL>
<DD>Reset the stack to a start position.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="reset(int, int)"><!-- --></A><H3>
reset</H3>
<PRE>
protected void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.155"><B>reset</B></A>(int&nbsp;linksSize,
int&nbsp;varArraySize)</PRE>
<DL>
<DD>Reset the stack to a start position.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>linksSize</CODE> - Initial stack size to use<DD><CODE>varArraySize</CODE> - Initial variable array size to use</DL>
</DD>
</DL>
<HR>
<A NAME="setStackFrame(int)"><!-- --></A><H3>
setStackFrame</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.178"><B>setStackFrame</B></A>(int&nbsp;sf)</PRE>
<DL>
<DD>Set the current stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sf</CODE> - The new stack frame position.</DL>
</DD>
</DL>
<HR>
<A NAME="getStackFrame()"><!-- --></A><H3>
getStackFrame</H3>
<PRE>
public int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.190"><B>getStackFrame</B></A>()</PRE>
<DL>
<DD>Get the position from where the search should start,
which is either the searchStart property, or the top
of the stack if that value is -1.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The current stack frame position.</DL>
</DD>
</DL>
<HR>
<A NAME="link(int)"><!-- --></A><H3>
link</H3>
<PRE>
public int <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.210"><B>link</B></A>(int&nbsp;size)</PRE>
<DL>
<DD>Allocates memory (called a stackframe) on the stack; used to store
local variables and parameter arguments.
<p>I use the link/unlink concept because of distant
<a href="http://math.millikin.edu/mprogers/Courses/currentCourses/CS481-ComputerArchitecture/cs481.Motorola68000.html">
Motorola 68000 assembler</a> memories.</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>size</CODE> - The size of the stack frame allocation. This ammount should
normally be the maximum number of variables that you can have allocated
at one time in the new stack frame.
<DT><B>Returns:</B><DD>The bottom of the stack frame, from where local variable addressing
should start from.</DL>
</DD>
</DL>
<HR>
<A NAME="unlink()"><!-- --></A><H3>
unlink</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.243"><B>unlink</B></A>()</PRE>
<DL>
<DD>Free up the stack frame that was last allocated with
<A HREF="../../../org/apache/xpath/VariableStack.html#link(int)"><CODE>link(int size)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="unlink(int)"><!-- --></A><H3>
unlink</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.255"><B>unlink</B></A>(int&nbsp;currentFrame)</PRE>
<DL>
<DD>Free up the stack frame that was last allocated with
<A HREF="../../../org/apache/xpath/VariableStack.html#link(int)"><CODE>link(int size)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>currentFrame</CODE> - The current frame to set to
after the unlink.</DL>
</DD>
</DL>
<HR>
<A NAME="setLocalVariable(int, org.apache.xpath.objects.XObject)"><!-- --></A><H3>
setLocalVariable</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.270"><B>setLocalVariable</B></A>(int&nbsp;index,
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>&nbsp;val)</PRE>
<DL>
<DD>Set a local variable or parameter in the current stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - Local variable index relative to the current stack
frame bottom.<DD><CODE>val</CODE> - The value of the variable that is being set.</DL>
</DD>
</DL>
<HR>
<A NAME="setLocalVariable(int, org.apache.xpath.objects.XObject, int)"><!-- --></A><H3>
setLocalVariable</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.285"><B>setLocalVariable</B></A>(int&nbsp;index,
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>&nbsp;val,
int&nbsp;stackFrame)</PRE>
<DL>
<DD>Set a local variable or parameter in the specified stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - Local variable index relative to the current stack
frame bottom.
NEEDSDOC @param stackFrame<DD><CODE>val</CODE> - The value of the variable that is being set.</DL>
</DD>
</DL>
<HR>
<A NAME="getLocalVariable(org.apache.xpath.XPathContext, int)"><!-- --></A><H3>
getLocalVariable</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.304"><B>getLocalVariable</B></A>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Get a local variable or parameter in the current stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xctxt</CODE> - The XPath context, which must be passed in order to
lazy evaluate variables.<DD><CODE>index</CODE> - Local variable index relative to the current stack
frame bottom.
<DT><B>Returns:</B><DD>The value of the variable.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getLocalVariable(int, int)"><!-- --></A><H3>
getLocalVariable</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.336"><B>getLocalVariable</B></A>(int&nbsp;index,
int&nbsp;frame)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Get a local variable or parameter in the current stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - Local variable index relative to the given
frame bottom.
NEEDSDOC @param frame
<DT><B>Returns:</B><DD>The value of the variable.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getLocalVariable(org.apache.xpath.XPathContext, int, boolean)"><!-- --></A><H3>
getLocalVariable</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.361"><B>getLocalVariable</B></A>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index,
boolean&nbsp;destructiveOK)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Get a local variable or parameter in the current stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xctxt</CODE> - The XPath context, which must be passed in order to
lazy evaluate variables.<DD><CODE>index</CODE> - Local variable index relative to the current stack
frame bottom.
<DT><B>Returns:</B><DD>The value of the variable.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="isLocalSet(int)"><!-- --></A><H3>
isLocalSet</H3>
<PRE>
public boolean <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.391"><B>isLocalSet</B></A>(int&nbsp;index)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Tell if a local variable has been set or not.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - Local variable index relative to the current stack
frame bottom.
<DT><B>Returns:</B><DD>true if the value at the index is not null.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="clearLocalSlots(int, int)"><!-- --></A><H3>
clearLocalSlots</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.408"><B>clearLocalSlots</B></A>(int&nbsp;start,
int&nbsp;len)</PRE>
<DL>
<DD>Use this to clear the variables in a section of the stack. This is
used to clear the parameter section of the stack, so that default param
values can tell if they've already been set. It is important to note that
this function has a 1K limitation.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>start</CODE> - The start position, relative to the current local stack frame.<DD><CODE>len</CODE> - The number of slots to be cleared.</DL>
</DD>
</DL>
<HR>
<A NAME="setGlobalVariable(int, org.apache.xpath.objects.XObject)"><!-- --></A><H3>
setGlobalVariable</H3>
<PRE>
public void <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.425"><B>setGlobalVariable</B></A>(int&nbsp;index,
<A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A>&nbsp;val)</PRE>
<DL>
<DD>Set a global variable or parameter in the global stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - Local variable index relative to the global stack frame
bottom.<DD><CODE>val</CODE> - The value of the variable that is being set.</DL>
</DD>
</DL>
<HR>
<A NAME="getGlobalVariable(org.apache.xpath.XPathContext, int)"><!-- --></A><H3>
getGlobalVariable</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.444"><B>getGlobalVariable</B></A>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Get a global variable or parameter from the global stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xctxt</CODE> - The XPath context, which must be passed in order to
lazy evaluate variables.<DD><CODE>index</CODE> - Global variable index relative to the global stack
frame bottom.
<DT><B>Returns:</B><DD>The value of the variable.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getGlobalVariable(org.apache.xpath.XPathContext, int, boolean)"><!-- --></A><H3>
getGlobalVariable</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.471"><B>getGlobalVariable</B></A>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
int&nbsp;index,
boolean&nbsp;destructiveOK)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Get a global variable or parameter from the global stack frame.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xctxt</CODE> - The XPath context, which must be passed in order to
lazy evaluate variables.<DD><CODE>index</CODE> - Global variable index relative to the global stack
frame bottom.
<DT><B>Returns:</B><DD>The value of the variable.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getVariableOrParam(org.apache.xpath.XPathContext, org.apache.xml.utils.QName)"><!-- --></A><H3>
getVariableOrParam</H3>
<PRE>
public <A HREF="../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../src-html/org/apache/xpath/VariableStack.html#line.497"><B>getVariableOrParam</B></A>(<A HREF="../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt,
<A HREF="../../../org/apache/xml/utils/QName.html" title="class in org.apache.xml.utils">QName</A>&nbsp;qname)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Get a variable based on it's qualified name.
This is for external use only.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xctxt</CODE> - The XPath context, which must be passed in order to
lazy evaluate variables.<DD><CODE>qname</CODE> - The qualified name of the variable.
<DT><B>Returns:</B><DD>The evaluated value of the variable.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/VariableStack.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/apache/xpath/SourceTreeManager.html" title="class in org.apache.xpath"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/xpath/WhitespaceStrippingElementMatcher.html" title="interface in org.apache.xpath"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/apache/xpath/VariableStack.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="VariableStack.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>