Mon, 09 Mar 2009 23:53:41 -0700
Merge
1 /*
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
26 package com.sun.tools.doclets.formats.html.markup;
28 import java.io.*;
30 import com.sun.tools.doclets.internal.toolkit.*;
31 import com.sun.tools.doclets.internal.toolkit.util.*;
33 /**
34 * Class for the Html format code generation.
35 * Initilizes PrintWriter with FileWriter, to enable print
36 * related methods to generate the code to the named File through FileWriter.
37 *
38 * @since 1.2
39 * @author Atul M Dambalkar
40 */
41 public class HtmlWriter extends PrintWriter {
43 /**
44 * Name of the file, to which this writer is writing to.
45 */
46 protected final String htmlFilename;
48 /**
49 * The window title of this file
50 */
51 protected String winTitle;
53 /**
54 * URL file separator string("/").
55 */
56 public static final String fileseparator =
57 DirectoryManager.URL_FILE_SEPERATOR;
59 /**
60 * The configuration
61 */
62 protected Configuration configuration;
64 /**
65 * The flag to indicate whether a member details list is printed or not.
66 */
67 protected boolean memberDetailsListPrinted;
69 /**
70 * Constructor.
71 *
72 * @param path The directory path to be created for this file
73 * or null if none to be created.
74 * @param filename File Name to which the PrintWriter will
75 * do the Output.
76 * @param docencoding Encoding to be used for this file.
77 * @exception IOException Exception raised by the FileWriter is passed on
78 * to next level.
79 * @exception UnSupportedEncodingException Exception raised by the
80 * OutputStreamWriter is passed on to next level.
81 */
82 public HtmlWriter(Configuration configuration,
83 String path, String filename, String docencoding)
84 throws IOException, UnsupportedEncodingException {
85 super(Util.genWriter(configuration, path, filename, docencoding));
86 this.configuration = configuration;
87 htmlFilename = filename;
88 this.memberDetailsListPrinted = false;
89 }
91 /**
92 * Print <HTML> tag. Add a newline character at the end.
93 */
94 public void html() {
95 println("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">");
96 }
98 /**
99 * Print </HTML> tag. Add a newline character at the end.
100 */
101 public void htmlEnd() {
102 println("</HTML>");
103 }
105 /**
106 * Print the script code to be embeded before the </HEAD> tag.
107 */
108 protected void printWinTitleScript(String winTitle){
109 if(winTitle != null && winTitle.length() > 0) {
110 script();
111 println("function windowTitle()");
112 println("{");
113 println(" if (location.href.indexOf('is-external=true') == -1) {");
114 println(" parent.document.title=\"" + winTitle + "\";");
115 println(" }");
116 println("}");
117 scriptEnd();
118 noScript();
119 noScriptEnd();
120 }
121 }
123 /**
124 * Print the Javascript <SCRIPT> start tag with its type
125 * attribute.
126 */
127 public void script() {
128 println("<SCRIPT type=\"text/javascript\">");
129 }
131 /**
132 * Print the Javascript </SCRIPT> end tag.
133 */
134 public void scriptEnd() {
135 println("</SCRIPT>");
136 }
138 /**
139 * Print the Javascript <NOSCRIPT> start tag.
140 */
141 public void noScript() {
142 println("<NOSCRIPT>");
143 }
145 /**
146 * Print the Javascript </NOSCRIPT> end tag.
147 */
148 public void noScriptEnd() {
149 println("</NOSCRIPT>");
150 }
152 /**
153 * Return the Javascript call to be embedded in the <BODY> tag.
154 * Return nothing if winTitle is empty.
155 * @return the Javascript call to be embedded in the <BODY> tag.
156 */
157 protected String getWindowTitleOnload(){
158 if(winTitle != null && winTitle.length() > 0) {
159 return " onload=\"windowTitle();\"";
160 } else {
161 return "";
162 }
163 }
165 /**
166 * Print <BODY BGCOLOR="bgcolor">, including JavaScript
167 * "onload" call to load windowtitle script. This script shows the name
168 * of the document in the window title bar when frames are on.
169 *
170 * @param bgcolor Background color.
171 * @param includeScript boolean set true if printing windowtitle script
172 */
173 public void body(String bgcolor, boolean includeScript) {
174 print("<BODY BGCOLOR=\"" + bgcolor + "\"");
175 if (includeScript) {
176 print(getWindowTitleOnload());
177 }
178 println(">");
179 }
181 /**
182 * Print </BODY> tag. Add a newline character at the end.
183 */
184 public void bodyEnd() {
185 println("</BODY>");
186 }
188 /**
189 * Print <TITLE> tag. Add a newline character at the end.
190 */
191 public void title() {
192 println("<TITLE>");
193 }
195 /**
196 * Print <TITLE> tag. Add a newline character at the end.
197 *
198 * @param winTitle The title of this document.
199 */
200 public void title(String winTitle) {
201 // Set window title string which is later printed
202 this.winTitle = winTitle;
203 title();
204 }
207 /**
208 * Print </TITLE> tag. Add a newline character at the end.
209 */
210 public void titleEnd() {
211 println("</TITLE>");
212 }
214 /**
215 * Print <UL> tag. Add a newline character at the end.
216 */
217 public void ul() {
218 println("<UL>");
219 }
221 /**
222 * Print </UL> tag. Add a newline character at the end.
223 */
224 public void ulEnd() {
225 println("</UL>");
226 }
228 /**
229 * Print <LI> tag.
230 */
231 public void li() {
232 print("<LI>");
233 }
235 /**
236 * Print <LI TYPE="type"> tag.
237 *
238 * @param type Type string.
239 */
240 public void li(String type) {
241 print("<LI TYPE=\"" + type + "\">");
242 }
244 /**
245 * Print <H1> tag. Add a newline character at the end.
246 */
247 public void h1() {
248 println("<H1>");
249 }
251 /**
252 * Print </H1> tag. Add a newline character at the end.
253 */
254 public void h1End() {
255 println("</H1>");
256 }
258 /**
259 * Print text with <H1> tag. Also adds </H1> tag. Add a newline character
260 * at the end of the text.
261 *
262 * @param text Text to be printed with <H1> format.
263 */
264 public void h1(String text) {
265 h1();
266 println(text);
267 h1End();
268 }
270 /**
271 * Print <H2> tag. Add a newline character at the end.
272 */
273 public void h2() {
274 println("<H2>");
275 }
277 /**
278 * Print text with <H2> tag. Also adds </H2> tag. Add a newline character
279 * at the end of the text.
280 *
281 * @param text Text to be printed with <H2> format.
282 */
283 public void h2(String text) {
284 h2();
285 println(text);
286 h2End();
287 }
289 /**
290 * Print </H2> tag. Add a newline character at the end.
291 */
292 public void h2End() {
293 println("</H2>");
294 }
296 /**
297 * Print <H3> tag. Add a newline character at the end.
298 */
299 public void h3() {
300 println("<H3>");
301 }
303 /**
304 * Print text with <H3> tag. Also adds </H3> tag. Add a newline character
305 * at the end of the text.
306 *
307 * @param text Text to be printed with <H3> format.
308 */
309 public void h3(String text) {
310 h3();
311 println(text);
312 h3End();
313 }
315 /**
316 * Print </H3> tag. Add a newline character at the end.
317 */
318 public void h3End() {
319 println("</H3>");
320 }
322 /**
323 * Print <H4> tag. Add a newline character at the end.
324 */
325 public void h4() {
326 println("<H4>");
327 }
329 /**
330 * Print </H4> tag. Add a newline character at the end.
331 */
332 public void h4End() {
333 println("</H4>");
334 }
336 /**
337 * Print text with <H4> tag. Also adds </H4> tag. Add a newline character
338 * at the end of the text.
339 *
340 * @param text Text to be printed with <H4> format.
341 */
342 public void h4(String text) {
343 h4();
344 println(text);
345 h4End();
346 }
348 /**
349 * Print <H5> tag. Add a newline character at the end.
350 */
351 public void h5() {
352 println("<H5>");
353 }
355 /**
356 * Print </H5> tag. Add a newline character at the end.
357 */
358 public void h5End() {
359 println("</H5>");
360 }
362 /**
363 * Print HTML <IMG SRC="imggif" WIDTH="width" HEIGHT="height" ALT="imgname>
364 * tag. It prepends the "images" directory name to the "imggif". This
365 * method is used for oneone format generation. Add a newline character
366 * at the end.
367 *
368 * @param imggif Image GIF file.
369 * @param imgname Image name.
370 * @param width Width of the image.
371 * @param height Height of the image.
372 */
373 public void img(String imggif, String imgname, int width, int height) {
374 println("<IMG SRC=\"images/" + imggif + ".gif\""
375 + " WIDTH=\"" + width + "\" HEIGHT=\"" + height
376 + "\" ALT=\"" + imgname + "\">");
377 }
379 /**
380 * Print <MENU> tag. Add a newline character at the end.
381 */
382 public void menu() {
383 println("<MENU>");
384 }
386 /**
387 * Print </MENU> tag. Add a newline character at the end.
388 */
389 public void menuEnd() {
390 println("</MENU>");
391 }
393 /**
394 * Print <PRE> tag. Add a newline character at the end.
395 */
396 public void pre() {
397 println("<PRE>");
398 }
400 /**
401 * Print <PRE> tag without adding new line character at th eend.
402 */
403 public void preNoNewLine() {
404 print("<PRE>");
405 }
407 /**
408 * Print </PRE> tag. Add a newline character at the end.
409 */
410 public void preEnd() {
411 println("</PRE>");
412 }
414 /**
415 * Print <HR> tag. Add a newline character at the end.
416 */
417 public void hr() {
418 println("<HR>");
419 }
421 /**
422 * Print <HR SIZE="size" WIDTH="widthpercent%"> tag. Add a newline
423 * character at the end.
424 *
425 * @param size Size of the ruler.
426 * @param widthPercent Percentage Width of the ruler
427 */
428 public void hr(int size, int widthPercent) {
429 println("<HR SIZE=\"" + size + "\" WIDTH=\"" + widthPercent + "%\">");
430 }
432 /**
433 * Print <HR SIZE="size" NOSHADE> tag. Add a newline character at the end.
434 *
435 * @param size Size of the ruler.
436 * @param noshade noshade string.
437 */
438 public void hr(int size, String noshade) {
439 println("<HR SIZE=\"" + size + "\" NOSHADE>");
440 }
442 /**
443 * Get the "<STRONG>" string.
444 *
445 * @return String Return String "<STRONG>";
446 */
447 public String getStrong() {
448 return "<STRONG>";
449 }
451 /**
452 * Get the "</STRONG>" string.
453 *
454 * @return String Return String "</STRONG>";
455 */
456 public String getStrongEnd() {
457 return "</STRONG>";
458 }
460 /**
461 * Print <STRONG> tag.
462 */
463 public void strong() {
464 print("<STRONG>");
465 }
467 /**
468 * Print </STRONG> tag.
469 */
470 public void strongEnd() {
471 print("</STRONG>");
472 }
474 /**
475 * Print text passed, in strong format using <STRONG> and </STRONG> tags.
476 *
477 * @param text String to be printed in between <STRONG> and </STRONG> tags.
478 */
479 public void strong(String text) {
480 strong();
481 print(text);
482 strongEnd();
483 }
485 /**
486 * Print text passed, in Italics using <I> and </I> tags.
487 *
488 * @param text String to be printed in between <I> and </I> tags.
489 */
490 public void italics(String text) {
491 print("<I>");
492 print(text);
493 println("</I>");
494 }
496 /**
497 * Return, text passed, with Italics <I> and </I> tags, surrounding it.
498 * So if the text passed is "Hi", then string returned will be "<I>Hi</I>".
499 *
500 * @param text String to be printed in between <I> and </I> tags.
501 */
502 public String italicsText(String text) {
503 return "<I>" + text + "</I>";
504 }
506 public String codeText(String text) {
507 return "<CODE>" + text + "</CODE>";
508 }
510 /**
511 * Print "&nbsp;", non-breaking space.
512 */
513 public void space() {
514 print(" ");
515 }
517 /**
518 * Print <DL> tag. Add a newline character at the end.
519 */
520 public void dl() {
521 println("<DL>");
522 }
524 /**
525 * Print </DL> tag. Add a newline character at the end.
526 */
527 public void dlEnd() {
528 println("</DL>");
529 }
531 /**
532 * Print <DT> tag.
533 */
534 public void dt() {
535 print("<DT>");
536 }
538 /**
539 * Print </DT> tag.
540 */
541 public void dtEnd() {
542 print("</DT>");
543 }
545 /**
546 * Print <DD> tag.
547 */
548 public void dd() {
549 print("<DD>");
550 }
552 /**
553 * Print </DD> tag. Add a newline character at the end.
554 */
555 public void ddEnd() {
556 println("</DD>");
557 }
559 /**
560 * Print <SUP> tag. Add a newline character at the end.
561 */
562 public void sup() {
563 println("<SUP>");
564 }
566 /**
567 * Print </SUP> tag. Add a newline character at the end.
568 */
569 public void supEnd() {
570 println("</SUP>");
571 }
573 /**
574 * Print <FONT SIZE="size"> tag. Add a newline character at the end.
575 *
576 * @param size String size.
577 */
578 public void font(String size) {
579 println("<FONT SIZE=\"" + size + "\">");
580 }
582 /**
583 * Print <FONT SIZE="size"> tag.
584 *
585 * @param size String size.
586 */
587 public void fontNoNewLine(String size) {
588 print("<FONT SIZE=\"" + size + "\">");
589 }
591 /**
592 * Print <FONT CLASS="stylename"> tag. Add a newline character at the end.
593 *
594 * @param stylename String stylename.
595 */
596 public void fontStyle(String stylename) {
597 print("<FONT CLASS=\"" + stylename + "\">");
598 }
600 /**
601 * Print <FONT SIZE="size" CLASS="stylename"> tag. Add a newline character
602 * at the end.
603 *
604 * @param size String size.
605 * @param stylename String stylename.
606 */
607 public void fontSizeStyle(String size, String stylename) {
608 println("<FONT size=\"" + size + "\" CLASS=\"" + stylename + "\">");
609 }
611 /**
612 * Print </FONT> tag.
613 */
614 public void fontEnd() {
615 print("</FONT>");
616 }
618 /**
619 * Get the "<FONT COLOR="color">" string.
620 *
621 * @param color String color.
622 * @return String Return String "<FONT COLOR="color">".
623 */
624 public String getFontColor(String color) {
625 return "<FONT COLOR=\"" + color + "\">";
626 }
628 /**
629 * Get the "</FONT>" string.
630 *
631 * @return String Return String "</FONT>";
632 */
633 public String getFontEnd() {
634 return "</FONT>";
635 }
637 /**
638 * Print <CENTER> tag. Add a newline character at the end.
639 */
640 public void center() {
641 println("<CENTER>");
642 }
644 /**
645 * Print </CENTER> tag. Add a newline character at the end.
646 */
647 public void centerEnd() {
648 println("</CENTER>");
649 }
651 /**
652 * Print anchor <A NAME="name"> tag.
653 *
654 * @param name Name String.
655 */
656 public void aName(String name) {
657 print("<A NAME=\"" + name + "\">");
658 }
660 /**
661 * Print </A> tag.
662 */
663 public void aEnd() {
664 print("</A>");
665 }
667 /**
668 * Print <I> tag.
669 */
670 public void italic() {
671 print("<I>");
672 }
674 /**
675 * Print </I> tag.
676 */
677 public void italicEnd() {
678 print("</I>");
679 }
681 /**
682 * Print contents within anchor <A NAME="name"> tags.
683 *
684 * @param name String name.
685 * @param content String contents.
686 */
687 public void anchor(String name, String content) {
688 aName(name);
689 print(content);
690 aEnd();
691 }
693 /**
694 * Print anchor <A NAME="name"> and </A>tags. Print comment string
695 * "<!-- -->" within those tags.
696 *
697 * @param name String name.
698 */
699 public void anchor(String name) {
700 anchor(name, "<!-- -->");
701 }
703 /**
704 * Print newline and then print <P> tag. Add a newline character at the
705 * end.
706 */
707 public void p() {
708 println();
709 println("<P>");
710 }
712 /**
713 * Print newline and then print </P> tag. Add a newline character at the
714 * end.
715 */
716 public void pEnd() {
717 println();
718 println("</P>");
719 }
721 /**
722 * Print newline and then print <BR> tag. Add a newline character at the
723 * end.
724 */
725 public void br() {
726 println();
727 println("<BR>");
728 }
730 /**
731 * Print <ADDRESS> tag. Add a newline character at the end.
732 */
733 public void address() {
734 println("<ADDRESS>");
735 }
737 /**
738 * Print </ADDRESS> tag. Add a newline character at the end.
739 */
740 public void addressEnd() {
741 println("</ADDRESS>");
742 }
744 /**
745 * Print <HEAD> tag. Add a newline character at the end.
746 */
747 public void head() {
748 println("<HEAD>");
749 }
751 /**
752 * Print </HEAD> tag. Add a newline character at the end.
753 */
754 public void headEnd() {
755 println("</HEAD>");
756 }
758 /**
759 * Print <CODE> tag.
760 */
761 public void code() {
762 print("<CODE>");
763 }
765 /**
766 * Print </CODE> tag.
767 */
768 public void codeEnd() {
769 print("</CODE>");
770 }
772 /**
773 * Print <EM> tag. Add a newline character at the end.
774 */
775 public void em() {
776 println("<EM>");
777 }
779 /**
780 * Print </EM> tag. Add a newline character at the end.
781 */
782 public void emEnd() {
783 println("</EM>");
784 }
786 /**
787 * Print HTML <TABLE BORDER="border" WIDTH="width"
788 * CELLPADDING="cellpadding" CELLSPACING="cellspacing"> tag.
789 *
790 * @param border Border size.
791 * @param width Width of the table.
792 * @param cellpadding Cellpadding for the table cells.
793 * @param cellspacing Cellspacing for the table cells.
794 */
795 public void table(int border, String width, int cellpadding,
796 int cellspacing) {
797 println(DocletConstants.NL +
798 "<TABLE BORDER=\"" + border +
799 "\" WIDTH=\"" + width +
800 "\" CELLPADDING=\"" + cellpadding +
801 "\" CELLSPACING=\"" + cellspacing +
802 "\" SUMMARY=\"\">");
803 }
805 /**
806 * Print HTML <TABLE BORDER="border" CELLPADDING="cellpadding"
807 * CELLSPACING="cellspacing"> tag.
808 *
809 * @param border Border size.
810 * @param cellpadding Cellpadding for the table cells.
811 * @param cellspacing Cellspacing for the table cells.
812 */
813 public void table(int border, int cellpadding, int cellspacing) {
814 println(DocletConstants.NL +
815 "<TABLE BORDER=\"" + border +
816 "\" CELLPADDING=\"" + cellpadding +
817 "\" CELLSPACING=\"" + cellspacing +
818 "\" SUMMARY=\"\">");
819 }
821 /**
822 * Print HTML <TABLE BORDER="border" WIDTH="width">
823 *
824 * @param border Border size.
825 * @param width Width of the table.
826 */
827 public void table(int border, String width) {
828 println(DocletConstants.NL +
829 "<TABLE BORDER=\"" + border +
830 "\" WIDTH=\"" + width +
831 "\" SUMMARY=\"\">");
832 }
834 /**
835 * Print the HTML table tag with border size 0 and width 100%.
836 */
837 public void table() {
838 table(0, "100%");
839 }
841 /**
842 * Print </TABLE> tag. Add a newline character at the end.
843 */
844 public void tableEnd() {
845 println("</TABLE>");
846 }
848 /**
849 * Print <TR> tag. Add a newline character at the end.
850 */
851 public void tr() {
852 println("<TR>");
853 }
855 /**
856 * Print </TR> tag. Add a newline character at the end.
857 */
858 public void trEnd() {
859 println("</TR>");
860 }
862 /**
863 * Print <TD> tag.
864 */
865 public void td() {
866 print("<TD>");
867 }
869 /**
870 * Print <TD NOWRAP> tag.
871 */
872 public void tdNowrap() {
873 print("<TD NOWRAP>");
874 }
876 /**
877 * Print <TD WIDTH="width"> tag.
878 *
879 * @param width String width.
880 */
881 public void tdWidth(String width) {
882 print("<TD WIDTH=\"" + width + "\">");
883 }
885 /**
886 * Print </TD> tag. Add a newline character at the end.
887 */
888 public void tdEnd() {
889 println("</TD>");
890 }
892 /**
893 * Print <LINK str> tag.
894 *
895 * @param str String.
896 */
897 public void link(String str) {
898 println("<LINK " + str + ">");
899 }
901 /**
902 * Print "<!-- " comment start string.
903 */
904 public void commentStart() {
905 print("<!-- ");
906 }
908 /**
909 * Print "-->" comment end string. Add a newline character at the end.
910 */
911 public void commentEnd() {
912 println("-->");
913 }
915 /**
916 * Print <TR BGCOLOR="color" CLASS="stylename"> tag. Adds a newline character
917 * at the end.
918 *
919 * @param color String color.
920 * @param stylename String stylename.
921 */
922 public void trBgcolorStyle(String color, String stylename) {
923 println("<TR BGCOLOR=\"" + color + "\" CLASS=\"" + stylename + "\">");
924 }
926 /**
927 * Print <TR BGCOLOR="color"> tag. Adds a newline character at the end.
928 *
929 * @param color String color.
930 */
931 public void trBgcolor(String color) {
932 println("<TR BGCOLOR=\"" + color + "\">");
933 }
935 /**
936 * Print <TR ALIGN="align" VALIGN="valign"> tag. Adds a newline character
937 * at the end.
938 *
939 * @param align String align.
940 * @param valign String valign.
941 */
942 public void trAlignVAlign(String align, String valign) {
943 println("<TR ALIGN=\"" + align + "\" VALIGN=\"" + valign + "\">");
944 }
946 /**
947 * Print <TH ALIGN="align"> tag.
948 *
949 * @param align the align attribute.
950 */
951 public void thAlign(String align) {
952 print("<TH ALIGN=\"" + align + "\">");
953 }
955 /**
956 * Print <TH align="align" COLSPAN=i> tag.
957 *
958 * @param align the align attribute.
959 * @param i integer.
960 */
961 public void thAlignColspan(String align, int i) {
962 print("<TH ALIGN=\"" + align + "\" COLSPAN=\"" + i + "\">");
963 }
965 /**
966 * Print <TH align="align" NOWRAP> tag.
967 *
968 * @param align the align attribute.
969 */
970 public void thAlignNowrap(String align) {
971 print("<TH ALIGN=\"" + align + "\" NOWRAP>");
972 }
974 /**
975 * Print </TH> tag. Add a newline character at the end.
976 */
977 public void thEnd() {
978 println("</TH>");
979 }
981 /**
982 * Print <TD COLSPAN=i> tag.
983 *
984 * @param i integer.
985 */
986 public void tdColspan(int i) {
987 print("<TD COLSPAN=" + i + ">");
988 }
990 /**
991 * Print <TD BGCOLOR="color" CLASS="stylename"> tag.
992 *
993 * @param color String color.
994 * @param stylename String stylename.
995 */
996 public void tdBgcolorStyle(String color, String stylename) {
997 print("<TD BGCOLOR=\"" + color + "\" CLASS=\"" + stylename + "\">");
998 }
1000 /**
1001 * Print <TD COLSPAN=i BGCOLOR="color" CLASS="stylename"> tag.
1002 *
1003 * @param i integer.
1004 * @param color String color.
1005 * @param stylename String stylename.
1006 */
1007 public void tdColspanBgcolorStyle(int i, String color, String stylename) {
1008 print("<TD COLSPAN=" + i + " BGCOLOR=\"" + color + "\" CLASS=\"" +
1009 stylename + "\">");
1010 }
1012 /**
1013 * Print <TD ALIGN="align"> tag. Adds a newline character
1014 * at the end.
1015 *
1016 * @param align String align.
1017 */
1018 public void tdAlign(String align) {
1019 print("<TD ALIGN=\"" + align + "\">");
1020 }
1022 /**
1023 * Print <TD ALIGN="align" CLASS="stylename"> tag.
1024 *
1025 * @param align String align.
1026 * @param stylename String stylename.
1027 */
1028 public void tdVAlignClass(String align, String stylename) {
1029 print("<TD VALIGN=\"" + align + "\" CLASS=\"" + stylename + "\">");
1030 }
1032 /**
1033 * Print <TD VALIGN="valign"> tag.
1034 *
1035 * @param valign String valign.
1036 */
1037 public void tdVAlign(String valign) {
1038 print("<TD VALIGN=\"" + valign + "\">");
1039 }
1041 /**
1042 * Print <TD ALIGN="align" VALIGN="valign"> tag.
1043 *
1044 * @param align String align.
1045 * @param valign String valign.
1046 */
1047 public void tdAlignVAlign(String align, String valign) {
1048 print("<TD ALIGN=\"" + align + "\" VALIGN=\"" + valign + "\">");
1049 }
1051 /**
1052 * Print <TD ALIGN="align" ROWSPAN=rowspan> tag.
1053 *
1054 * @param align String align.
1055 * @param rowspan integer rowspan.
1056 */
1057 public void tdAlignRowspan(String align, int rowspan) {
1058 print("<TD ALIGN=\"" + align + "\" ROWSPAN=" + rowspan + ">");
1059 }
1061 /**
1062 * Print <TD ALIGN="align" VALIGN="valign" ROWSPAN=rowspan> tag.
1063 *
1064 * @param align String align.
1065 * @param valign String valign.
1066 * @param rowspan integer rowspan.
1067 */
1068 public void tdAlignVAlignRowspan(String align, String valign,
1069 int rowspan) {
1070 print("<TD ALIGN=\"" + align + "\" VALIGN=\"" + valign
1071 + "\" ROWSPAN=" + rowspan + ">");
1072 }
1074 /**
1075 * Print <BLOCKQUOTE> tag. Add a newline character at the end.
1076 */
1077 public void blockquote() {
1078 println("<BLOCKQUOTE>");
1079 }
1081 /**
1082 * Print </BLOCKQUOTE> tag. Add a newline character at the end.
1083 */
1084 public void blockquoteEnd() {
1085 println("</BLOCKQUOTE>");
1086 }
1088 /**
1089 * Get the "<CODE>" string.
1090 *
1091 * @return String Return String "<CODE>";
1092 */
1093 public String getCode() {
1094 return "<CODE>";
1095 }
1097 /**
1098 * Get the "</CODE>" string.
1099 *
1100 * @return String Return String "</CODE>";
1101 */
1102 public String getCodeEnd() {
1103 return "</CODE>";
1104 }
1106 /**
1107 * Print <NOFRAMES> tag. Add a newline character at the end.
1108 */
1109 public void noFrames() {
1110 println("<NOFRAMES>");
1111 }
1113 /**
1114 * Print </NOFRAMES> tag. Add a newline character at the end.
1115 */
1116 public void noFramesEnd() {
1117 println("</NOFRAMES>");
1118 }
1119 }