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 <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <TITLE> 7 HtmlStreamRenderer (OWASP Java HTML Sanitizer) 8 </TITLE> 9 10 11 <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> 12 13 <SCRIPT type="text/javascript"> 14 function windowTitle() 15 { 16 if (location.href.indexOf('is-external=true') == -1) { 17 parent.document.title="HtmlStreamRenderer (OWASP Java HTML Sanitizer)"; 18 } 19 } 20 </SCRIPT> 21 <NOSCRIPT> 22 </NOSCRIPT> 23 24 </HEAD> 25 26 <BODY BGCOLOR="white" onload="windowTitle();"> 27 <HR> 28 29 30 <!-- ========= START OF TOP NAVBAR ======= --> 31 <A NAME="navbar_top"><!-- --></A> 32 <A HREF="#skip-navbar_top" title="Skip navigation links"></A> 33 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 34 <TR> 35 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 36 <A NAME="navbar_top_firstrow"><!-- --></A> 37 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 38 <TR ALIGN="center" VALIGN="top"> 39 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 40 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 41 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 42 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HtmlStreamRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 43 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 45 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 46 </TR> 47 </TABLE> 48 </TD> 49 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 50 <a href="http://code.google.com/p/owasp-java-html-sanitizer" target=_top>code.google.com home</a></EM> 51 </TD> 52 </TR> 53 54 <TR> 55 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 56 <A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html"><B>PREV CLASS</B></A> 57 <A HREF="../../../org/owasp/html/HtmlTextEscapingMode.html" title="enum in org.owasp.html"><B>NEXT CLASS</B></A></FONT></TD> 58 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 59 <A HREF="../../../index.html?org/owasp/html/HtmlStreamRenderer.html" target="_top"><B>FRAMES</B></A> 60 <A HREF="HtmlStreamRenderer.html" target="_top"><B>NO FRAMES</B></A> 61 <SCRIPT type="text/javascript"> 62 <!-- 63 if(window==top) { 64 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 65 } 66 //--> 67 </SCRIPT> 68 <NOSCRIPT> 69 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 70 </NOSCRIPT> 71 72 73 </FONT></TD> 74 </TR> 75 <TR> 76 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 77 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> 78 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 79 DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> 80 </TR> 81 </TABLE> 82 <A NAME="skip-navbar_top"></A> 83 <!-- ========= END OF TOP NAVBAR ========= --> 84 85 <HR> 86 <!-- ======== START OF CLASS DATA ======== --> 87 <H2> 88 <FONT SIZE="-1"> 89 org.owasp.html</FONT> 90 <BR> 91 Class HtmlStreamRenderer</H2> 92 <PRE> 93 java.lang.Object 94 <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.owasp.html.HtmlStreamRenderer</B> 95 </PRE> 96 <DL> 97 <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></DD> 98 </DL> 99 <HR> 100 <DL> 101 <DT><PRE><FONT SIZE="-1">@NotThreadSafe 102 </FONT>public class <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.51"><B>HtmlStreamRenderer</B></A><DT>extends java.lang.Object<DT>implements <A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></DL> 103 </PRE> 104 105 <P> 106 Given a series of HTML tokens, writes valid, normalized HTML to the output. 107 The output will have well-defined tag boundaries, but there may be orphaned 108 or missing close and open tags. 109 The result of two renderers can always be concatenated to produce a larger 110 snippet of HTML, but if the first was called with 111 <code>writeOpenTag("plaintext", ...)</code>, then any tags in the second will not 112 be interpreted as tags in the concatenated version. 113 <P> 114 115 <P> 116 <HR> 117 118 <P> 119 120 <!-- ========== METHOD SUMMARY =========== --> 121 122 <A NAME="method_summary"><!-- --></A> 123 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 124 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 125 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 126 <B>Method Summary</B></FONT></TH> 127 </TR> 128 <TR BGCOLOR="white" CLASS="TableRowColor"> 129 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 130 <CODE> void</CODE></FONT></TD> 131 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#closeDocument()">closeDocument</A></B>()</CODE> 132 133 <BR> 134 </TD> 135 </TR> 136 <TR BGCOLOR="white" CLASS="TableRowColor"> 137 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 138 <CODE> void</CODE></FONT></TD> 139 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#closeTag(java.lang.String)">closeTag</A></B>(java.lang.String elementName)</CODE> 140 141 <BR> 142 </TD> 143 </TR> 144 <TR BGCOLOR="white" CLASS="TableRowColor"> 145 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 146 <CODE>static <A HREF="../../../org/owasp/html/HtmlStreamRenderer.html" title="class in org.owasp.html">HtmlStreamRenderer</A></CODE></FONT></TD> 147 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#create(java.lang.Appendable, org.owasp.html.Handler, org.owasp.html.Handler)">create</A></B>(java.lang.Appendable output, 148 <A HREF="../../../org/owasp/html/Handler.html" title="interface in org.owasp.html">Handler</A><? super java.io.IOException> ioExHandler, 149 <A HREF="../../../org/owasp/html/Handler.html" title="interface in org.owasp.html">Handler</A><? super java.lang.String> badHtmlHandler)</CODE> 150 151 <BR> 152 Factory.</TD> 153 </TR> 154 <TR BGCOLOR="white" CLASS="TableRowColor"> 155 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 156 <CODE>static <A HREF="../../../org/owasp/html/HtmlStreamRenderer.html" title="class in org.owasp.html">HtmlStreamRenderer</A></CODE></FONT></TD> 157 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#create(java.lang.StringBuilder, org.owasp.html.Handler)">create</A></B>(java.lang.StringBuilder output, 158 <A HREF="../../../org/owasp/html/Handler.html" title="interface in org.owasp.html">Handler</A><? super java.lang.String> badHtmlHandler)</CODE> 159 160 <BR> 161 Factory.</TD> 162 </TR> 163 <TR BGCOLOR="white" CLASS="TableRowColor"> 164 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 165 <CODE> boolean</CODE></FONT></TD> 166 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#isDocumentOpen()">isDocumentOpen</A></B>()</CODE> 167 168 <BR> 169 </TD> 170 </TR> 171 <TR BGCOLOR="white" CLASS="TableRowColor"> 172 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 173 <CODE> void</CODE></FONT></TD> 174 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#openDocument()">openDocument</A></B>()</CODE> 175 176 <BR> 177 </TD> 178 </TR> 179 <TR BGCOLOR="white" CLASS="TableRowColor"> 180 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 181 <CODE> void</CODE></FONT></TD> 182 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#openTag(java.lang.String, java.util.List)">openTag</A></B>(java.lang.String elementName, 183 java.util.List<java.lang.String> attrs)</CODE> 184 185 <BR> 186 </TD> 187 </TR> 188 <TR BGCOLOR="white" CLASS="TableRowColor"> 189 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 190 <CODE> void</CODE></FONT></TD> 191 <TD><CODE><B><A HREF="../../../org/owasp/html/HtmlStreamRenderer.html#text(java.lang.String)">text</A></B>(java.lang.String text)</CODE> 192 193 <BR> 194 </TD> 195 </TR> 196 </TABLE> 197 <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> 198 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 199 <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> 200 <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> 201 </TR> 202 <TR BGCOLOR="white" CLASS="TableRowColor"> 203 <TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> 204 </TR> 205 </TABLE> 206 207 <P> 208 209 <!-- ============ METHOD DETAIL ========== --> 210 211 <A NAME="method_detail"><!-- --></A> 212 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 213 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 214 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 215 <B>Method Detail</B></FONT></TH> 216 </TR> 217 </TABLE> 218 219 <A NAME="create(java.lang.Appendable, org.owasp.html.Handler, org.owasp.html.Handler)"><!-- --></A><H3> 220 create</H3> 221 <PRE> 222 public static <A HREF="../../../org/owasp/html/HtmlStreamRenderer.html" title="class in org.owasp.html">HtmlStreamRenderer</A> <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.69"><B>create</B></A>(<FONT SIZE="-1">@WillCloseWhenClosed</FONT> 223 java.lang.Appendable output, 224 <A HREF="../../../org/owasp/html/Handler.html" title="interface in org.owasp.html">Handler</A><? super java.io.IOException> ioExHandler, 225 <A HREF="../../../org/owasp/html/Handler.html" title="interface in org.owasp.html">Handler</A><? super java.lang.String> badHtmlHandler)</PRE> 226 <DL> 227 <DD>Factory. 228 <P> 229 <DD><DL> 230 </DL> 231 </DD> 232 <DD><DL> 233 <DT><B>Parameters:</B><DD><CODE>output</CODE> - the buffer to which HTML is streamed.<DD><CODE>ioExHandler</CODE> - called with any exception raised by output.<DD><CODE>badHtmlHandler</CODE> - receives alerts when HTML cannot be rendered because 234 there is not valid HTML tree that results from that series of calls. 235 E.g. it is not possible to create an HTML <code><style></code> element whose 236 textual content is <code>"</style>"</code>.</DL> 237 </DD> 238 </DL> 239 <HR> 240 241 <A NAME="create(java.lang.StringBuilder, org.owasp.html.Handler)"><!-- --></A><H3> 242 create</H3> 243 <PRE> 244 public static <A HREF="../../../org/owasp/html/HtmlStreamRenderer.html" title="class in org.owasp.html">HtmlStreamRenderer</A> <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.89"><B>create</B></A>(java.lang.StringBuilder output, 245 <A HREF="../../../org/owasp/html/Handler.html" title="interface in org.owasp.html">Handler</A><? super java.lang.String> badHtmlHandler)</PRE> 246 <DL> 247 <DD>Factory. 248 <P> 249 <DD><DL> 250 </DL> 251 </DD> 252 <DD><DL> 253 <DT><B>Parameters:</B><DD><CODE>output</CODE> - the buffer to which HTML is streamed.<DD><CODE>badHtmlHandler</CODE> - receives alerts when HTML cannot be rendered because 254 there is not valid HTML tree that results from that series of calls. 255 E.g. it is not possible to create an HTML <code><style></code> element whose 256 textual content is <code>"</style>"</code>.</DL> 257 </DD> 258 </DL> 259 <HR> 260 261 <A NAME="openDocument()"><!-- --></A><H3> 262 openDocument</H3> 263 <PRE> 264 public final void <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.117"><B>openDocument</B></A>() 265 throws java.lang.IllegalStateException</PRE> 266 <DL> 267 <DD><DL> 268 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html#openDocument()">openDocument</A></CODE> in interface <CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></CODE></DL> 269 </DD> 270 <DD><DL> 271 272 <DT><B>Throws:</B> 273 <DD><CODE>java.lang.IllegalStateException</CODE></DL> 274 </DD> 275 </DL> 276 <HR> 277 278 <A NAME="closeDocument()"><!-- --></A><H3> 279 closeDocument</H3> 280 <PRE> 281 public final void <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.122"><B>closeDocument</B></A>() 282 throws java.lang.IllegalStateException</PRE> 283 <DL> 284 <DD><DL> 285 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html#closeDocument()">closeDocument</A></CODE> in interface <CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></CODE></DL> 286 </DD> 287 <DD><DL> 288 289 <DT><B>Throws:</B> 290 <DD><CODE>java.lang.IllegalStateException</CODE></DL> 291 </DD> 292 </DL> 293 <HR> 294 295 <A NAME="isDocumentOpen()"><!-- --></A><H3> 296 isDocumentOpen</H3> 297 <PRE> 298 public final boolean <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.137"><B>isDocumentOpen</B></A>()</PRE> 299 <DL> 300 <DD><DL> 301 </DL> 302 </DD> 303 <DD><DL> 304 </DL> 305 </DD> 306 </DL> 307 <HR> 308 309 <A NAME="openTag(java.lang.String, java.util.List)"><!-- --></A><H3> 310 openTag</H3> 311 <PRE> 312 public final void <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.141"><B>openTag</B></A>(java.lang.String elementName, 313 java.util.List<java.lang.String> attrs)</PRE> 314 <DL> 315 <DD><DL> 316 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html#openTag(java.lang.String, java.util.List)">openTag</A></CODE> in interface <CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></CODE></DL> 317 </DD> 318 <DD><DL> 319 <DD><CODE>attrs</CODE> - alternating attribute names and values.</DL> 320 </DD> 321 </DL> 322 <HR> 323 324 <A NAME="closeTag(java.lang.String)"><!-- --></A><H3> 325 closeTag</H3> 326 <PRE> 327 public final void <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.214"><B>closeTag</B></A>(java.lang.String elementName)</PRE> 328 <DL> 329 <DD><DL> 330 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html#closeTag(java.lang.String)">closeTag</A></CODE> in interface <CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></CODE></DL> 331 </DD> 332 <DD><DL> 333 </DL> 334 </DD> 335 </DL> 336 <HR> 337 338 <A NAME="text(java.lang.String)"><!-- --></A><H3> 339 text</H3> 340 <PRE> 341 public final void <A HREF="../../../src-html/org/owasp/html/HtmlStreamRenderer.html#line.256"><B>text</B></A>(java.lang.String text)</PRE> 342 <DL> 343 <DD><DL> 344 <DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html#text(java.lang.String)">text</A></CODE> in interface <CODE><A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html">HtmlStreamEventReceiver</A></CODE></DL> 345 </DD> 346 <DD><DL> 347 </DL> 348 </DD> 349 </DL> 350 <!-- ========= END OF CLASS DATA ========= --> 351 <HR> 352 353 354 <!-- ======= START OF BOTTOM NAVBAR ====== --> 355 <A NAME="navbar_bottom"><!-- --></A> 356 <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 357 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 358 <TR> 359 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 360 <A NAME="navbar_bottom_firstrow"><!-- --></A> 361 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 362 <TR ALIGN="center" VALIGN="top"> 363 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 364 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 365 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 366 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/HtmlStreamRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 367 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 368 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 369 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 370 </TR> 371 </TABLE> 372 </TD> 373 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 374 <a href="http://code.google.com/p/owasp-java-html-sanitizer" target=_top>code.google.com home</a></EM> 375 </TD> 376 </TR> 377 378 <TR> 379 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 380 <A HREF="../../../org/owasp/html/HtmlStreamEventReceiver.html" title="interface in org.owasp.html"><B>PREV CLASS</B></A> 381 <A HREF="../../../org/owasp/html/HtmlTextEscapingMode.html" title="enum in org.owasp.html"><B>NEXT CLASS</B></A></FONT></TD> 382 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 383 <A HREF="../../../index.html?org/owasp/html/HtmlStreamRenderer.html" target="_top"><B>FRAMES</B></A> 384 <A HREF="HtmlStreamRenderer.html" target="_top"><B>NO FRAMES</B></A> 385 <SCRIPT type="text/javascript"> 386 <!-- 387 if(window==top) { 388 document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); 389 } 390 //--> 391 </SCRIPT> 392 <NOSCRIPT> 393 <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> 394 </NOSCRIPT> 395 396 397 </FONT></TD> 398 </TR> 399 <TR> 400 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 401 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> 402 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 403 DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> 404 </TR> 405 </TABLE> 406 <A NAME="skip-navbar_bottom"></A> 407 <!-- ======== END OF BOTTOM NAVBAR ======= --> 408 409 <HR> 410 411 </BODY> 412 </HTML> 413