1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | package Torello.Languages; import java.util.*; import java.io.*; /** * HTMLWordTables for Mandarin Chinese Translations. * * <BR /><BR /><EMBED CLASS='external-html' DATA-FILE-ID=HTMLWT> */ @Torello.JavaDoc.StaticFunctional public class HTMLWordTables { private HTMLWordTables() { } /** * Builds a simple, short HTML version of the Chinese-Simplified / English / Spanish sentence * DIV * * @param simpSentence This may be a single word, a complete phrase, sentence, or even a * paragraph of simplified Mandarin Chinese scraped from a web-site like Gov.CN. If this * parameter is null, an exception will be thrown. * * @param englSentence This is intended to be the English-Translated version of the * Simplified-Chinese sentence. If this parameter is null, the output HTML-table will have * <I><B>one less / fewer row</B></I> included. * * @param espaSentence This is supposed to be the Spanish-translated version of the * Simplified-Chinese sentence. If this parameter is null, the output HTML-table will have * <I><B>one less / fewer row</B></I> included. * * @param tableClass If this table needs a CSS-Class selector, pass it here. * * @param tableID If this table requires a CSS-ID selector, pass it here. * * @param onClickListener This is a string of the form "callbackFuntion(params);" It is * inserted * into the <TABLE on_click="INSERTED-STRING-HERE"> tag * * @return An Table-HTML string. Note: The Vocabulary tables *ARE NOT* included. * This only includes the English, Spanish & Chinese sentences. * * @throws NullPointerException If simpSentence is null. */ public static String toHTML( String simpSentence, String englSentence, String espaSentence, String tableClass, String tableID, String onClickListener ) { if (simpSentence == null) throw new NullPointerException ("simpSentence MAY NOT be NULL, engl and espa can be."); String tableIncludeStr = ""; tableIncludeStr += (tableClass != null) ? (" CLASS=\"" + tableClass + "\"") : ""; tableIncludeStr += (tableID != null) ? (" ID=\"" + tableID + "\"") : ""; tableIncludeStr += (onClickListener != null) ? (" onclick=\"" + onClickListener + "\"") : ""; return "<TABLE " + tableIncludeStr + "><TBODY>\n" + ((simpSentence != null) ? ("<TR CLASS=\"ZHROW\" ><TD>" + simpSentence + "</TD></TR>\n") : "") + ((englSentence != null) ? ("<TR CLASS=\"ENROW\" ><TD>" + englSentence + "</TD></TR>\n") : "") + ((espaSentence != null) ? ("<TR CLASS=\"ESROW\" ><TD>" + espaSentence + "</TD></TR>\n") : "") + "</TBODY></TABLE>\n"; } /** * The purpose of this method is to generate the "Pop Up" vocabulary table as HTML * * @param tableClass This contains the HTML-tag "class" String. It is included in the * HTML <TABLE CLASS="INSERT-TEXT-HERE> String * * @param tableID This contains the HTML-tag "id" String. It is included in the * HTML <TABLE ID="INSERT-TEXT-HERE"> String * * @param setNoDisplay When this variable is {@code TRUE}, a CSS tag is added to the opening * <TABLE> tag, indicating: <BR /><CODE>STYLE="display: none;"</CODE> - which ensures * that this vocabulary table remains hidden. * * @param simpWords A Vector of simplified chinese character-words. This parameter may not be * null. * * @param pronWords A Parallel Vector of the pronunciation of this input Simplified Mandarin * words. Can be left out / null. * * @param tradWords Parallel Vector. Traditional-Chinese Characters. May be null. * * @param englWords Parallel Vector. English Words. Can be null. * * @param espaWords Parallel Vector. Chinese in Spanish. Also may be null. * * @return returns the Vocabulary Table as an HTML String of * <TABLE>Vocab-Rows</TABLE> * * @throws NullPointerException If simpWords is null. */ public static String getHTMLVocabTable( String tableClass, String tableID, boolean setNoDisplay, Vector<String> simpWords, Vector<String> pronWords, Vector<String> tradWords, Vector<String> englWords, Vector<String> espaWords ) { if (simpWords== null) throw new NullPointerException ("simpWords MAY NOT be NULL, engl and espa can be."); StringBuilder sb = new StringBuilder(); // Build the <TABLE> tag. It may require a CSS "CLASS=...", possibly a "ID=...", // or a CSS-styled "display: none;" sb.append("<TABLE"); if (tableClass != null) sb.append(" CLASS=\"" + tableClass + "\""); if (tableID != null) sb.append(" ID=\"" + tableID + "\""); if (setNoDisplay) sb.append(" STYLE=\"display: none;\""); sb.append(">\n<TBODY>\n"); int len = simpWords.size(); for (int i = 0; i < len; i++) { sb.append( "<TR>\n" + ((simpWords != null) ? ("<TD>" + simpWords.elementAt(i) + "</TD>\n") : "") + ((pronWords != null) ? ("<TD>" + pronWords.elementAt(i) + "</TD>\n") : "") + ((tradWords != null) ? ("<TD>" + tradWords.elementAt(i) + "</TD>\n") : "") + ((englWords != null) ? ("<TD>" + englWords.elementAt(i) + "</TD>\n") : "") + ((espaWords != null) ? ("<TD>" + espaWords.elementAt(i) + "</TD>\n") : "") + "</TR>\n" ); } sb.append("</TBODY>\n</TABLE>\n"); return sb.toString(); } } |