📄 hashtreetraverser.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc -->
<TITLE>
HashTreeTraverser (Apache JMeter API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.jorphan.collections.HashTreeTraverser interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="HashTreeTraverser (Apache JMeter API)";
}
</SCRIPT>
</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=3 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> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Apache JMeter</b></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
PREV CLASS
NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>
<A HREF="HashTreeTraverser.html" target="_top"><B>NO FRAMES</B></A>
<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: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | CONSTR | <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.jorphan.collections</FONT>
<BR>
Interface HashTreeTraverser</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/jmeter/gui/action/CheckDirty.html" title="class in org.apache.jmeter.gui.action">CheckDirty</A>, <A HREF="../../../../org/apache/jmeter/engine/ConvertListeners.html" title="class in org.apache.jmeter.engine">ConvertListeners</A>, <A HREF="../../../../org/apache/jmeter/engine/util/DisabledComponentRemover.html" title="class in org.apache.jmeter.engine.util">DisabledComponentRemover</A>, <A HREF="../../../../org/apache/jmeter/engine/PreCompiler.html" title="class in org.apache.jmeter.engine">PreCompiler</A>, <A HREF="../../../../org/apache/jmeter/report/gui/action/ReportCheckDirty.html" title="class in org.apache.jmeter.report.gui.action">ReportCheckDirty</A>, <A HREF="../../../../org/apache/jorphan/collections/SearchByClass.html" title="class in org.apache.jorphan.collections">SearchByClass</A>, <A HREF="../../../../org/apache/jmeter/threads/TestCompiler.html" title="class in org.apache.jmeter.threads">TestCompiler</A>, <A HREF="../../../../org/apache/jmeter/engine/TreeCloner.html" title="class in org.apache.jmeter.engine">TreeCloner</A>, <A HREF="../../../../org/apache/jmeter/engine/TurnElementsOn.html" title="class in org.apache.jmeter.engine">TurnElementsOn</A></DD>
</DL>
<HR>
<DL>
<DT>public interface <B>HashTreeTraverser</B></DL>
<P>
By implementing this interface, a class can easily traverse a HashTree
object, and be notified via callbacks of certain events. There are three such
events:
<ol>
<li>When a node is first encountered, the traverser's
<A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#addNode(java.lang.Object, org.apache.jorphan.collections.HashTree)"><CODE>addNode(Object,HashTree)</CODE></A> method is called. It is handed the object
at that node, and the entire sub-tree of the node.</li>
<li>When a leaf node is encountered, the traverser is notified that a full
path has been finished via the <A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#processPath()"><CODE>processPath()</CODE></A> method. It is the
traversing class's responsibility to know the path that has just finished
(this can be done by keeping a simple stack of all added nodes).</li>
<li>When a node is retraced, the traverser's <A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#subtractNode()"><CODE>subtractNode()</CODE></A> is
called. Again, it is the traverser's responsibility to know which node has
been retraced.</li>
</ol>
To summarize, as the traversal goes down a tree path, nodes are added. When
the end of the path is reached, the <A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#processPath()"><CODE>processPath()</CODE></A> call is sent. As
the traversal backs up, nodes are subtracted.
<p>
The traversal is a depth-first traversal.
<P>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>$Revision: 493784 $</DD>
<DT><B>Author:</B></DT>
<DD>Michael Stover (mstover1 at apache.org)</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/jorphan/collections/HashTree.html" title="class in org.apache.jorphan.collections"><CODE>HashTree</CODE></A>,
<A HREF="../../../../org/apache/jorphan/collections/SearchByClass.html" title="class in org.apache.jorphan.collections"><CODE>SearchByClass</CODE></A></DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#addNode(java.lang.Object, org.apache.jorphan.collections.HashTree)">addNode</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> node,
<A HREF="../../../../org/apache/jorphan/collections/HashTree.html" title="class in org.apache.jorphan.collections">HashTree</A> subTree)</CODE>
<BR>
The tree traverses itself depth-first, calling addNode for each object it
encounters as it goes. </TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#processPath()">processPath</A></B>()</CODE>
<BR>
Process path is called when a leaf is reached. </TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#subtractNode()">subtractNode</A></B>()</CODE>
<BR>
Indicates traversal has moved up a step, and the visitor should remove
the top node from its stack structure. </TD>
</TR>
</TABLE>
<P>
<!-- ============ FIELD DETAIL =========== -->
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="addNode(java.lang.Object, org.apache.jorphan.collections.HashTree)"><!-- --></A><H3>
addNode</H3>
<PRE>
public void <B>addNode</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> node,
<A HREF="../../../../org/apache/jorphan/collections/HashTree.html" title="class in org.apache.jorphan.collections">HashTree</A> subTree)</PRE>
<DL>
<DD>The tree traverses itself depth-first, calling addNode for each object it
encounters as it goes. This is a callback method, and should not be
called except by a HashTree during traversal.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>node</CODE> - the node currently encountered<DD><CODE>subTree</CODE> - the HashTree under the node encountered</DL>
</DD>
</DL>
<HR>
<A NAME="subtractNode()"><!-- --></A><H3>
subtractNode</H3>
<PRE>
public void <B>subtractNode</B>()</PRE>
<DL>
<DD>Indicates traversal has moved up a step, and the visitor should remove
the top node from its stack structure. This is a callback method, and
should not be called except by a HashTree during traversal.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="processPath()"><!-- --></A><H3>
processPath</H3>
<PRE>
public void <B>processPath</B>()</PRE>
<DL>
<DD>Process path is called when a leaf is reached. If a visitor wishes to
generate Lists of path elements to each leaf, it should keep a Stack data
structure of nodes passed to it with addNode, and removing top items for
every <A HREF="../../../../org/apache/jorphan/collections/HashTreeTraverser.html#subtractNode()"><CODE>subtractNode()</CODE></A> call. This is a callback method, and should
not be called except by a HashTree during traversal.
<P>
<DD><DL>
</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=3 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> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Apache JMeter</b></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
PREV CLASS
NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>
<A HREF="HashTreeTraverser.html" target="_top"><B>NO FRAMES</B></A>
<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: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright © 1998-2008 Apache Software Foundation. All Rights Reserved.
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -