<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
               Class XalanStyleFrame</h2><br><hr><pre>public class <strong>XalanStyleFrame</strong>
extends StyleFrame</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private org.apache.xalan.trace.TracerEvent</code></td><td width="80%" align="left"><code><a href="#field_event">event</a></code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanStyleFrame">XalanStyleFrame</a></strong>(StyleFrame parent
         ,
      org.apache.xalan.trace.TracerEvent event)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getCurrentLine">getCurrentLine</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getFilename">getFilename</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getGlobals">getGlobals</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getSourceCurrentLine">getSourceCurrentLine</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getSourceFilename">getSourceFilename</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getVariableStack">getVariableStack</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xalan.trace.TracerEvent</code></td><td width="" align="left"><code><a href="#method_peekElement">peekElement</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xalan.trace.TracerEvent</code></td><td width="" align="left"><code><a href="#method_popElement">popElement</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_pushElement">pushElement</a>(org.apache.xalan.trace.TracerEvent e)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Field Detail
               </h2></td></tr></table><h2><a name="field_event">event</a></h2><p><code>package-private org.apache.xalan.trace.TracerEvent <strong>event</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XalanStyleFrame">XalanStyleFrame</a></h2><p><code>public <strong>XalanStyleFrame</strong>(StyleFrame parent
         ,
      org.apache.xalan.trace.TracerEvent event)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_getCurrentLine">getCurrentLine</a></h2><p><code>public int <strong>getCurrentLine</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getFilename">getFilename</a></h2><p><code>public java.lang.String <strong>getFilename</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getGlobals">getGlobals</a></h2><p><code>protected java.util.List <strong>getGlobals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getSourceCurrentLine">getSourceCurrentLine</a></h2><p><code>public int <strong>getSourceCurrentLine</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getSourceFilename">getSourceFilename</a></h2><p><code>public java.lang.String <strong>getSourceFilename</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getVariableStack">getVariableStack</a></h2><p><code>public java.util.List <strong>getVariableStack</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_peekElement">peekElement</a></h2><p><code>public org.apache.xalan.trace.TracerEvent <strong>peekElement</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.apache.xalan.trace.TracerEvent</code></p><hr><h2><a name="method_popElement">popElement</a></h2><p><code>public org.apache.xalan.trace.TracerEvent <strong>popElement</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.apache.xalan.trace.TracerEvent</code></p><hr><h2><a name="method_pushElement">pushElement</a></h2><p><code>public void <strong>pushElement</strong>(org.apache.xalan.trace.TracerEvent e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><hr></body></html>