source: branches/objectmq-1.0/lib/rabbitmq-java-client-javadoc-3.0.1/com/rabbitmq/tools/Tracer.AsyncLogger.html

Last change on this file was 33, checked in by amoreno, 11 years ago

new release version

File size: 16.4 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!--NewPage-->
3<HTML>
4<HEAD>
5<!-- Generated by javadoc (build 1.6.0_18) on Tue Dec 11 11:47:09 GMT 2012 -->
6<TITLE>
7Tracer.AsyncLogger
8</TITLE>
9
10<META NAME="date" CONTENT="2012-12-11">
11
12<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
13
14<SCRIPT type="text/javascript">
15function windowTitle()
16{
17    if (location.href.indexOf('is-external=true') == -1) {
18        parent.document.title="Tracer.AsyncLogger";
19    }
20}
21</SCRIPT>
22<NOSCRIPT>
23</NOSCRIPT>
24
25</HEAD>
26
27<BODY BGCOLOR="white" onload="windowTitle();">
28<HR>
29
30
31<!-- ========= START OF TOP NAVBAR ======= -->
32<A NAME="navbar_top"><!-- --></A>
33<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
34<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
35<TR>
36<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
37<A NAME="navbar_top_firstrow"><!-- --></A>
38<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
39  <TR ALIGN="center" VALIGN="top">
40  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
42  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
43  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
45  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
46  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
47  </TR>
48</TABLE>
49</TD>
50<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
51</EM>
52</TD>
53</TR>
54
55<TR>
56<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
57&nbsp;<A HREF="../../../com/rabbitmq/tools/Tracer.html" title="class in com.rabbitmq.tools"><B>PREV CLASS</B></A>&nbsp;
58&nbsp;<A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools"><B>NEXT CLASS</B></A></FONT></TD>
59<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
60  <A HREF="../../../index.html?com/rabbitmq/tools/Tracer.AsyncLogger.html" target="_top"><B>FRAMES</B></A>  &nbsp;
61&nbsp;<A HREF="Tracer.AsyncLogger.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
62&nbsp;<SCRIPT type="text/javascript">
63  <!--
64  if(window==top) {
65    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
66  }
67  //-->
68</SCRIPT>
69<NOSCRIPT>
70  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
71</NOSCRIPT>
72
73
74</FONT></TD>
75</TR>
76<TR>
77<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
78  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
79<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
80DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
81</TR>
82</TABLE>
83<A NAME="skip-navbar_top"></A>
84<!-- ========= END OF TOP NAVBAR ========= -->
85
86<HR>
87<!-- ======== START OF CLASS DATA ======== -->
88<H2>
89<FONT SIZE="-1">
90com.rabbitmq.tools</FONT>
91<BR>
92Class Tracer.AsyncLogger</H2>
93<PRE>
94java.lang.Object
95  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.rabbitmq.tools.Tracer.AsyncLogger</B>
96</PRE>
97<DL>
98<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools">Tracer.Logger</A></DD>
99</DL>
100<DL>
101<DT><B>Enclosing class:</B><DD><A HREF="../../../com/rabbitmq/tools/Tracer.html" title="class in com.rabbitmq.tools">Tracer</A></DD>
102</DL>
103<HR>
104<DL>
105<DT><PRE>public static class <B>Tracer.AsyncLogger</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools">Tracer.Logger</A></DL>
106</PRE>
107
108<P>
109A <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools"><CODE>Tracer.Logger</CODE></A> designed to print <CODE>String</CODE>s to a designated <CODE>OutputStream</CODE>
110 on a private thread.
111 <p/><CODE>String</CODE>s are read from a private queue and <i>printed</i> to a buffered <CODE>PrintStream</CODE>
112 which is periodically flushed.
113 <p/>
114 When instantiated the private queue is created (an in-memory <CODE>ArrayBlockingQueue</CODE> in this
115 implementation) and when <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#start()"><CODE>start()</CODE></A>ed the private thread is created and started unless it is
116 already present.  An <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html" title="class in com.rabbitmq.tools"><CODE>Tracer.AsyncLogger</CODE></A> may be started many times, but only one thread is created.
117 <p/>
118 When <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#stop()"><CODE>stop()</CODE></A>ed either the number of starts is decremented, or, if this count reaches zero,
119 a special element is queued which causes the private thread to end when encountered.
120 <p/>
121 If the private thread is interrupted, the thread will also end, and the count set to zero,
122 This will cause subsequent <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#stop()"><CODE>stop()</CODE></A>s to be ignored, and the next <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#start()"><CODE>start()</CODE></A> will create a new thread.
123 <p/>
124 <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#log(java.lang.String)"><CODE>log(String)</CODE></A> never blocks unless the private queue is full; this may never un-block if the <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools"><CODE>Tracer.Logger</CODE></A> is stopped.
125<P>
126
127<P>
128<HR>
129
130<P>
131
132<!-- ======== CONSTRUCTOR SUMMARY ======== -->
133
134<A NAME="constructor_summary"><!-- --></A>
135<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
136<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
137<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
138<B>Constructor Summary</B></FONT></TH>
139</TR>
140<TR BGCOLOR="white" CLASS="TableRowColor">
141<TD><CODE><B><A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#Tracer.AsyncLogger(java.io.OutputStream)">Tracer.AsyncLogger</A></B>(java.io.OutputStream&nbsp;os)</CODE>
142
143<BR>
144&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same as <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#Tracer.AsyncLogger(java.io.OutputStream, int)"><CODE>Tracer.AsyncLogger(OutputStream, int)</CODE></A> with a one-second flush interval.</TD>
145</TR>
146<TR BGCOLOR="white" CLASS="TableRowColor">
147<TD><CODE><B><A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#Tracer.AsyncLogger(java.io.OutputStream, int)">Tracer.AsyncLogger</A></B>(java.io.OutputStream&nbsp;os,
148                   int&nbsp;flushInterval)</CODE>
149
150<BR>
151&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start/stoppable logger that prints to an <CODE>OutputStream</CODE> with flushes every <code>flushInterval</code> milliseconds.</TD>
152</TR>
153</TABLE>
154&nbsp;
155<!-- ========== METHOD SUMMARY =========== -->
156
157<A NAME="method_summary"><!-- --></A>
158<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
159<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
160<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
161<B>Method Summary</B></FONT></TH>
162</TR>
163<TR BGCOLOR="white" CLASS="TableRowColor">
164<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
165<CODE>&nbsp;void</CODE></FONT></TD>
166<TD><CODE><B><A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#log(java.lang.String)">log</A></B>(java.lang.String&nbsp;message)</CODE>
167
168<BR>
169&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write msg to the log.</TD>
170</TR>
171<TR BGCOLOR="white" CLASS="TableRowColor">
172<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
173<CODE>&nbsp;boolean</CODE></FONT></TD>
174<TD><CODE><B><A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#start()">start</A></B>()</CODE>
175
176<BR>
177&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start logging, that is, printing log entries written using
178 <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#log(java.lang.String)"><CODE>Tracer.Logger.log(String)</CODE></A>.</TD>
179</TR>
180<TR BGCOLOR="white" CLASS="TableRowColor">
181<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
182<CODE>&nbsp;boolean</CODE></FONT></TD>
183<TD><CODE><B><A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#stop()">stop</A></B>()</CODE>
184
185<BR>
186&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stop logging, that is, stop printing log entries written using
187 <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#log(java.lang.String)"><CODE>Tracer.Logger.log(String)</CODE></A>.</TD>
188</TR>
189</TABLE>
190&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
191<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
192<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
193<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
194</TR>
195<TR BGCOLOR="white" CLASS="TableRowColor">
196<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
197</TR>
198</TABLE>
199&nbsp;
200<P>
201
202<!-- ========= CONSTRUCTOR DETAIL ======== -->
203
204<A NAME="constructor_detail"><!-- --></A>
205<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
206<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
207<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
208<B>Constructor Detail</B></FONT></TH>
209</TR>
210</TABLE>
211
212<A NAME="Tracer.AsyncLogger(java.io.OutputStream)"><!-- --></A><H3>
213Tracer.AsyncLogger</H3>
214<PRE>
215public <B>Tracer.AsyncLogger</B>(java.io.OutputStream&nbsp;os)</PRE>
216<DL>
217<DD>Same as <A HREF="../../../com/rabbitmq/tools/Tracer.AsyncLogger.html#Tracer.AsyncLogger(java.io.OutputStream, int)"><CODE>Tracer.AsyncLogger(OutputStream, int)</CODE></A> with a one-second flush interval.
218<P>
219<DL>
220<DT><B>Parameters:</B><DD><CODE>os</CODE> - OutputStream to print to.</DL>
221</DL>
222<HR>
223
224<A NAME="Tracer.AsyncLogger(java.io.OutputStream, int)"><!-- --></A><H3>
225Tracer.AsyncLogger</H3>
226<PRE>
227public <B>Tracer.AsyncLogger</B>(java.io.OutputStream&nbsp;os,
228                          int&nbsp;flushInterval)</PRE>
229<DL>
230<DD>Start/stoppable logger that prints to an <CODE>OutputStream</CODE> with flushes every <code>flushInterval</code> milliseconds.
231<P>
232<DL>
233<DT><B>Parameters:</B><DD><CODE>os</CODE> - OutputStream to print to.<DD><CODE>flushInterval</CODE> - in milliseconds, time between flushes.</DL>
234</DL>
235
236<!-- ============ METHOD DETAIL ========== -->
237
238<A NAME="method_detail"><!-- --></A>
239<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
240<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
241<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
242<B>Method Detail</B></FONT></TH>
243</TR>
244</TABLE>
245
246<A NAME="log(java.lang.String)"><!-- --></A><H3>
247log</H3>
248<PRE>
249public void <B>log</B>(java.lang.String&nbsp;message)</PRE>
250<DL>
251<DD><B>Description copied from interface: <CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#log(java.lang.String)">Tracer.Logger</A></CODE></B></DD>
252<DD>Write msg to the log. This may block, and may block indefinitely if
253 the logger is stopped.
254<P>
255<DD><DL>
256<DT><B>Specified by:</B><DD><CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#log(java.lang.String)">log</A></CODE> in interface <CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools">Tracer.Logger</A></CODE></DL>
257</DD>
258<DD><DL>
259</DL>
260</DD>
261</DL>
262<HR>
263
264<A NAME="start()"><!-- --></A><H3>
265start</H3>
266<PRE>
267public boolean <B>start</B>()</PRE>
268<DL>
269<DD><B>Description copied from interface: <CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#start()">Tracer.Logger</A></CODE></B></DD>
270<DD>Start logging, that is, printing log entries written using
271 <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#log(java.lang.String)"><CODE>Tracer.Logger.log(String)</CODE></A>. Multiple successive starts are equivalent to a
272 single start.
273<P>
274<DD><DL>
275<DT><B>Specified by:</B><DD><CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#start()">start</A></CODE> in interface <CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools">Tracer.Logger</A></CODE></DL>
276</DD>
277<DD><DL>
278
279<DT><B>Returns:</B><DD><code>true</code> if start actually started the logger;
280         <code>false</code> otherwise.</DL>
281</DD>
282</DL>
283<HR>
284
285<A NAME="stop()"><!-- --></A><H3>
286stop</H3>
287<PRE>
288public boolean <B>stop</B>()</PRE>
289<DL>
290<DD><B>Description copied from interface: <CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#stop()">Tracer.Logger</A></CODE></B></DD>
291<DD>Stop logging, that is, stop printing log entries written using
292 <A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#log(java.lang.String)"><CODE>Tracer.Logger.log(String)</CODE></A>. Flush preceding writes. The logger can only be
293 stopped if started. Multiple successive stops are equivalent to a
294 single stop.
295<P>
296<DD><DL>
297<DT><B>Specified by:</B><DD><CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html#stop()">stop</A></CODE> in interface <CODE><A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools">Tracer.Logger</A></CODE></DL>
298</DD>
299<DD><DL>
300
301<DT><B>Returns:</B><DD><code>true</code> if stop actually stopped the logger;
302         <code>false</code> otherwise.</DL>
303</DD>
304</DL>
305<!-- ========= END OF CLASS DATA ========= -->
306<HR>
307
308
309<!-- ======= START OF BOTTOM NAVBAR ====== -->
310<A NAME="navbar_bottom"><!-- --></A>
311<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
312<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
313<TR>
314<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
315<A NAME="navbar_bottom_firstrow"><!-- --></A>
316<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
317  <TR ALIGN="center" VALIGN="top">
318  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
319  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
320  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
321  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
322  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
323  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
324  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
325  </TR>
326</TABLE>
327</TD>
328<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
329</EM>
330</TD>
331</TR>
332
333<TR>
334<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
335&nbsp;<A HREF="../../../com/rabbitmq/tools/Tracer.html" title="class in com.rabbitmq.tools"><B>PREV CLASS</B></A>&nbsp;
336&nbsp;<A HREF="../../../com/rabbitmq/tools/Tracer.Logger.html" title="interface in com.rabbitmq.tools"><B>NEXT CLASS</B></A></FONT></TD>
337<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
338  <A HREF="../../../index.html?com/rabbitmq/tools/Tracer.AsyncLogger.html" target="_top"><B>FRAMES</B></A>  &nbsp;
339&nbsp;<A HREF="Tracer.AsyncLogger.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
340&nbsp;<SCRIPT type="text/javascript">
341  <!--
342  if(window==top) {
343    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
344  }
345  //-->
346</SCRIPT>
347<NOSCRIPT>
348  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
349</NOSCRIPT>
350
351
352</FONT></TD>
353</TR>
354<TR>
355<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
356  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
357<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
358DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
359</TR>
360</TABLE>
361<A NAME="skip-navbar_bottom"></A>
362<!-- ======== END OF BOTTOM NAVBAR ======= -->
363
364<HR>
365
366</BODY>
367</HTML>
Note: See TracBrowser for help on using the repository browser.