Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / jigsaw / WWW / Doc / Programmer / api / org / w3c / jigsaw / http / socket / SocketClient.html
diff --git a/JMCR-Stable/real-world application/jigsaw/WWW/Doc/Programmer/api/org/w3c/jigsaw/http/socket/SocketClient.html b/JMCR-Stable/real-world application/jigsaw/WWW/Doc/Programmer/api/org/w3c/jigsaw/http/socket/SocketClient.html
new file mode 100644 (file)
index 0000000..3a58fe0
--- /dev/null
@@ -0,0 +1,747 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<!--NewPage-->\r
+<HTML>\r
+<HEAD>\r
+<!-- Generated by javadoc (build 1.5.0_11) on Tue Apr 10 15:02:17 UTC 2007 -->\r
+<TITLE>\r
+SocketClient\r
+</TITLE>\r
+\r
+<META NAME="keywords" CONTENT="org.w3c.jigsaw.http.socket.SocketClient class">\r
+\r
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">\r
+\r
+<SCRIPT type="text/javascript">\r
+function windowTitle()\r
+{\r
+    parent.document.title="SocketClient";\r
+}\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+</NOSCRIPT>\r
+\r
+</HEAD>\r
+\r
+<BODY BGCOLOR="white" onload="windowTitle();">\r
+\r
+\r
+<!-- ========= START OF TOP NAVBAR ======= -->\r
+<A NAME="navbar_top"><!-- --></A>\r
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_top_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;PREV CLASS&nbsp;\r
+&nbsp;<A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClientFactory.html" title="class in org.w3c.jigsaw.http.socket"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../../../index.html?org/w3c/jigsaw/http/socket/SocketClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="SocketClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
+&nbsp;<SCRIPT type="text/javascript">\r
+  <!--\r
+  if(window==top) {\r
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
+  }\r
+  //-->\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>\r
+</NOSCRIPT>\r
+\r
+\r
+</FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  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>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+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>\r
+</TR>\r
+</TABLE>\r
+<A NAME="skip-navbar_top"></A>\r
+<!-- ========= END OF TOP NAVBAR ========= -->\r
+\r
+<HR>\r
+<!-- ======== START OF CLASS DATA ======== -->\r
+<H2>\r
+<FONT SIZE="-1">\r
+org.w3c.jigsaw.http.socket</FONT>\r
+<BR>\r
+Class SocketClient</H2>\r
+<PRE>\r
+java.lang.Object\r
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">org.w3c.jigsaw.http.Client</A>\r
+      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.w3c.jigsaw.http.socket.SocketClient</B>\r
+</PRE>\r
+<DL>\r
+<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Runnable, <A HREF="../../../../../org/w3c/tools/timers/EventHandler.html" title="interface in org.w3c.tools.timers">EventHandler</A></DD>\r
+</DL>\r
+<DL>\r
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/w3c/jigsaw/https/socket/SSLSocketClient.html" title="class in org.w3c.jigsaw.https.socket">SSLSocketClient</A></DD>\r
+</DL>\r
+<HR>\r
+<DL>\r
+<DT><PRE>public class <B>SocketClient</B><DT>extends <A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A><DT>implements java.lang.Runnable</DL>\r
+</PRE>\r
+\r
+<P>\r
+This class implements the object that handles client connections. \r
+ One such object exists per open connections at any given time.\r
+ <p>The basic architecture is the following: the httpd instance accepts \r
+ new connections on its port. When such a connection is accepted a Client \r
+ object is requested to the client pool (which can implement what ever \r
+ strategy is suitable). Each request is than managed by looking up an\r
+  resource and invoking the resource methods corresponding to the request.\r
+<P>\r
+\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../org/w3c/jigsaw/http/httpd.html" title="class in org.w3c.jigsaw.http"><CODE>httpd</CODE></A>, \r
+<A HREF="../../../../../org/w3c/jigsaw/http/Request.html" title="class in org.w3c.jigsaw.http"><CODE>Request</CODE></A>, \r
+<A HREF="../../../../../org/w3c/jigsaw/http/Reply.html" title="class in org.w3c.jigsaw.http"><CODE>Reply</CODE></A></DL>\r
+<HR>\r
+\r
+<P>\r
+<!-- =========== FIELD SUMMARY =========== -->\r
+\r
+<A NAME="field_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Field Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#alive">alive</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this client still alive ?</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#bindcount">bindcount</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of times this client was bound to a connection.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;org.w3c.jigsaw.http.socket.SocketOutputBuffer</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#bufout">bufout</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our reusable output buffer.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#done">done</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;are we done?</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#idle">idle</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our we idle (waiting for next request ?)</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;java.net.Socket</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#socket">socket</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The socket currently handled by the client.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;java.lang.Thread</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#thread">thread</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The thread that we have been attached to.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="fields_inherited_from_class_org.w3c.jigsaw.http.Client"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Fields inherited from class org.w3c.jigsaw.http.<A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#buffer">buffer</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#cont">cont</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#currentURI">currentURI</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#debug">debug</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#identifier">identifier</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#prev_body_count">prev_body_count</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#reqcount">reqcount</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#server">server</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
+\r
+<A NAME="constructor_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Constructor Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected </CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#SocketClient(org.w3c.jigsaw.http.httpd, org.w3c.jigsaw.http.socket.SocketClientFactory, org.w3c.jigsaw.http.socket.SocketClientState)">SocketClient</A></B>(<A HREF="../../../../../org/w3c/jigsaw/http/httpd.html" title="class in org.w3c.jigsaw.http">httpd</A>&nbsp;server,\r
+             <A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClientFactory.html" title="class in org.w3c.jigsaw.http.socket">SocketClientFactory</A>&nbsp;pool,\r
+             <A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClientState.html" title="class in org.w3c.jigsaw.http.socket">SocketClientState</A>&nbsp;state)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create an empty client, that will be ready to work.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<!-- ========== METHOD SUMMARY =========== -->\r
+\r
+<A NAME="method_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Method Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#bind(java.net.Socket)">bind</A></B>(java.net.Socket&nbsp;socket)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SocketClientFactory interface - Bind the socket to this client.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#getBindCount()">getBindCount</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the total number of times this client was bound to a socket.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;java.net.InetAddress</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#getInetAddress()">getInetAddress</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client implementation - Get the IP address of this client.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;java.lang.Thread</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#getThread()">getThread</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the thread powering that client.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#idleConnection()">idleConnection</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client implementation - The current connection is idle.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#join()">join</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this client is allocated a thread, join it.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#kill(boolean)">kill</A></B>(boolean&nbsp;now)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SocketClientFactory interface - Kill this client.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#run()">run</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run for our newly attached connection.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#stopConnection()">stopConnection</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client implementation - This connection has been stopped.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#toString()">toString</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print that client into a String.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#unbind()">unbind</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SocketClientFactory interface - Unbind this client.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClient.html#usedConnection()">usedConnection</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client implementation - The current connection is in use.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_org.w3c.jigsaw.http.Client"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Methods inherited from class org.w3c.jigsaw.http.<A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#chunkTransfer(java.io.InputStream, org.w3c.jigsaw.http.Reply)">chunkTransfer</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#emitReply(org.w3c.jigsaw.http.Reply)">emitReply</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#error(java.lang.String)">error</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getIdentifier()">getIdentifier</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getInputStream()">getInputStream</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getMajorVersion()">getMajorVersion</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getMinorVersion()">getMinorVersion</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getNextRequest()">getNextRequest</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getOutputStream()">getOutputStream</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getRequestCount()">getRequestCount</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getServer()">getServer</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#handleTimerEvent(java.lang.Object, long)">handleTimerEvent</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#initialize(org.w3c.jigsaw.http.httpd, int)">initialize</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#interruptConnection(boolean)">interruptConnection</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#isInterrupted()">isInterrupted</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#isRunning()">isRunning</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#log(org.w3c.jigsaw.http.Request, org.w3c.jigsaw.http.Reply, int, long)">log</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#processRequest(org.w3c.jigsaw.http.Request)">processRequest</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#sendContinue()">sendContinue</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#sendContinue(org.w3c.jigsaw.http.Reply)">sendContinue</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#startConnection(java.io.InputStream, java.io.DataOutputStream)">startConnection</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#trace(java.lang.String)">trace</A>, <A HREF="../../../../../org/w3c/jigsaw/http/Client.html#tryKeepConnection(org.w3c.jigsaw.http.Request, org.w3c.jigsaw.http.Reply)">tryKeepConnection</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<P>\r
+\r
+<!-- ============ FIELD DETAIL =========== -->\r
+\r
+<A NAME="field_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Field Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="socket"><!-- --></A><H3>\r
+socket</H3>\r
+<PRE>\r
+protected java.net.Socket <B>socket</B></PRE>\r
+<DL>\r
+<DD>The socket currently handled by the client.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="alive"><!-- --></A><H3>\r
+alive</H3>\r
+<PRE>\r
+protected boolean <B>alive</B></PRE>\r
+<DL>\r
+<DD>Is this client still alive ?\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="bindcount"><!-- --></A><H3>\r
+bindcount</H3>\r
+<PRE>\r
+protected int <B>bindcount</B></PRE>\r
+<DL>\r
+<DD>Number of times this client was bound to a connection.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="thread"><!-- --></A><H3>\r
+thread</H3>\r
+<PRE>\r
+protected java.lang.Thread <B>thread</B></PRE>\r
+<DL>\r
+<DD>The thread that we have been attached to.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="bufout"><!-- --></A><H3>\r
+bufout</H3>\r
+<PRE>\r
+protected org.w3c.jigsaw.http.socket.SocketOutputBuffer <B>bufout</B></PRE>\r
+<DL>\r
+<DD>Our reusable output buffer.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="idle"><!-- --></A><H3>\r
+idle</H3>\r
+<PRE>\r
+protected boolean <B>idle</B></PRE>\r
+<DL>\r
+<DD>Our we idle (waiting for next request ?)\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="done"><!-- --></A><H3>\r
+done</H3>\r
+<PRE>\r
+protected boolean <B>done</B></PRE>\r
+<DL>\r
+<DD>are we done?\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+\r
+<!-- ========= CONSTRUCTOR DETAIL ======== -->\r
+\r
+<A NAME="constructor_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Constructor Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="SocketClient(org.w3c.jigsaw.http.httpd, org.w3c.jigsaw.http.socket.SocketClientFactory, org.w3c.jigsaw.http.socket.SocketClientState)"><!-- --></A><H3>\r
+SocketClient</H3>\r
+<PRE>\r
+protected <B>SocketClient</B>(<A HREF="../../../../../org/w3c/jigsaw/http/httpd.html" title="class in org.w3c.jigsaw.http">httpd</A>&nbsp;server,\r
+                       <A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClientFactory.html" title="class in org.w3c.jigsaw.http.socket">SocketClientFactory</A>&nbsp;pool,\r
+                       <A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClientState.html" title="class in org.w3c.jigsaw.http.socket">SocketClientState</A>&nbsp;state)</PRE>\r
+<DL>\r
+<DD>Create an empty client, that will be ready to work.\r
+ The created client will run and wait for it to be <code>bind</code>\r
+ to some socket before proceeding.\r
+<P>\r
+<DL>\r
+<DT><B>Parameters:</B><DD><CODE>server</CODE> - The server to which this client is attached.<DD><CODE>id</CODE> - The client identifier.<DT><B>See Also:</B><DD><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http"><CODE>Client</CODE></A>, \r
+<A HREF="../../../../../org/w3c/jigsaw/http/ClientFactory.html" title="interface in org.w3c.jigsaw.http"><CODE>ClientFactory</CODE></A></DL>\r
+</DL>\r
+\r
+<!-- ============ METHOD DETAIL ========== -->\r
+\r
+<A NAME="method_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Method Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="toString()"><!-- --></A><H3>\r
+toString</H3>\r
+<PRE>\r
+public java.lang.String <B>toString</B>()</PRE>\r
+<DL>\r
+<DD>Print that client into a String.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A String instance.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="join()"><!-- --></A><H3>\r
+join</H3>\r
+<PRE>\r
+public void <B>join</B>()</PRE>\r
+<DL>\r
+<DD>If this client is allocated a thread, join it.\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="run()"><!-- --></A><H3>\r
+run</H3>\r
+<PRE>\r
+public void <B>run</B>()</PRE>\r
+<DL>\r
+<DD>Run for our newly attached connection.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>java.lang.Runnable</CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getInetAddress()"><!-- --></A><H3>\r
+getInetAddress</H3>\r
+<PRE>\r
+public java.net.InetAddress <B>getInetAddress</B>()</PRE>\r
+<DL>\r
+<DD>Client implementation - Get the IP address of this client.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getInetAddress()">getInetAddress</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>An InetAddress instance, or <strong>null</strong> if the\r
+ client is not currently running.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="stopConnection()"><!-- --></A><H3>\r
+stopConnection</H3>\r
+<PRE>\r
+protected void <B>stopConnection</B>()</PRE>\r
+<DL>\r
+<DD>Client implementation - This connection has been stopped.\r
+ Make sure the whole socket is closed, and be ready to handle \r
+ next connection.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#stopConnection()">stopConnection</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getThread()"><!-- --></A><H3>\r
+getThread</H3>\r
+<PRE>\r
+protected java.lang.Thread <B>getThread</B>()</PRE>\r
+<DL>\r
+<DD>Get the thread powering that client.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#getThread()">getThread</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A Thread instance, or <strong>null</strong>.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="idleConnection()"><!-- --></A><H3>\r
+idleConnection</H3>\r
+<PRE>\r
+protected boolean <B>idleConnection</B>()</PRE>\r
+<DL>\r
+<DD>Client implementation - The current connection is idle.\r
+ The client is about to wait for the next request from the net, mark\r
+ it as idle to make it a candidate for persistent connection closing.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#idleConnection()">idleConnection</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A boolean, if <strong>true</strong> our client factory wants\r
+ us to stop right now, in order to handle some other connection.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="usedConnection()"><!-- --></A><H3>\r
+usedConnection</H3>\r
+<PRE>\r
+protected void <B>usedConnection</B>()</PRE>\r
+<DL>\r
+<DD>Client implementation - The current connection is in use.\r
+ A request is about to be processed, mark that connection as used, to\r
+ remove it from the idle state.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html#usedConnection()">usedConnection</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/jigsaw/http/Client.html" title="class in org.w3c.jigsaw.http">Client</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="bind(java.net.Socket)"><!-- --></A><H3>\r
+bind</H3>\r
+<PRE>\r
+protected void <B>bind</B>(java.net.Socket&nbsp;socket)</PRE>\r
+<DL>\r
+<DD>SocketClientFactory interface - Bind the socket to this client.\r
+ Binding a socket to a client triggers the processing of the underlying\r
+ connection. It is assumed that the client was ready to handle a new \r
+ connection before this method was called.\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>socket</CODE> - The socket this client should now handle.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="unbind()"><!-- --></A><H3>\r
+unbind</H3>\r
+<PRE>\r
+protected void <B>unbind</B>()</PRE>\r
+<DL>\r
+<DD>SocketClientFactory interface - Unbind this client.\r
+ This client is handling an idle connection, unbind it to make\r
+ it free for handling some other more buzy connection.\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="kill(boolean)"><!-- --></A><H3>\r
+kill</H3>\r
+<PRE>\r
+protected void <B>kill</B>(boolean&nbsp;now)</PRE>\r
+<DL>\r
+<DD>SocketClientFactory interface - Kill this client.\r
+ The clean way for our client factory to shut us down unconditionally.\r
+ This will free all resources acquired by this client, stop the current\r
+ connection processing if needed, and terminate the underlying thread.\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getBindCount()"><!-- --></A><H3>\r
+getBindCount</H3>\r
+<PRE>\r
+public final int <B>getBindCount</B>()</PRE>\r
+<DL>\r
+<DD>Get the total number of times this client was bound to a socket.\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>An integer, indicatingthe number of bind calls on this client.</DL>\r
+</DD>\r
+</DL>\r
+<!-- ========= END OF CLASS DATA ========= -->\r
+<HR>\r
+\r
+\r
+<!-- ======= START OF BOTTOM NAVBAR ====== -->\r
+<A NAME="navbar_bottom"><!-- --></A>\r
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_bottom_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;PREV CLASS&nbsp;\r
+&nbsp;<A HREF="../../../../../org/w3c/jigsaw/http/socket/SocketClientFactory.html" title="class in org.w3c.jigsaw.http.socket"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../../../index.html?org/w3c/jigsaw/http/socket/SocketClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="SocketClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
+&nbsp;<SCRIPT type="text/javascript">\r
+  <!--\r
+  if(window==top) {\r
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
+  }\r
+  //-->\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>\r
+</NOSCRIPT>\r
+\r
+\r
+</FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  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>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+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>\r
+</TR>\r
+</TABLE>\r
+<A NAME="skip-navbar_bottom"></A>\r
+<!-- ======== END OF BOTTOM NAVBAR ======= -->\r
+\r
+<HR>\r
+\r
+</BODY>\r
+</HTML>\r