001package com.hfg.xml.parser; 002 003import com.hfg.util.collection.BiHashMap; 004import com.hfg.util.collection.BiMap; 005 006//------------------------------------------------------------------------------ 007/** 008 Lookup class for the character entities defined in XHTML1-symbol.ent 009 010 @author J. Alex Taylor, hairyfatguy.com 011 */ 012//------------------------------------------------------------------------------ 013// com.hfg XML/HTML Coding Library 014// 015// This library is free software; you can redistribute it and/or 016// modify it under the terms of the GNU Lesser General Public 017// License as published by the Free Software Foundation; either 018// version 2.1 of the License, or (at your option) any later version. 019// 020// This library is distributed in the hope that it will be useful, 021// but WITHOUT ANY WARRANTY; without even the implied warranty of 022// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 023// Lesser General Public License for more details. 024// 025// You should have received a copy of the GNU Lesser General Public 026// License along with this library; if not, write to the Free Software 027// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 028// 029// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 030// jataylor@hairyfatguy.com 031//------------------------------------------------------------------------------ 032 033public class SymbolEntities extends AbstractEntities 034{ 035 private static SymbolEntities sInstance; 036 037 private static BiMap<String, Integer> sEntityMap = new BiHashMap<>(); 038 039 static 040 { 041 // Latin Extended-B 042 sEntityMap.put("fnof", 402); 043 044 // Greek 045 sEntityMap.put("Alpha", 913); 046 sEntityMap.put("Beta", 914); 047 sEntityMap.put("Gamma", 915); 048 sEntityMap.put("Delta", 916); 049 sEntityMap.put("Epsilon", 917); 050 sEntityMap.put("Zeta", 918); 051 sEntityMap.put("Eta", 919); 052 sEntityMap.put("Theta", 920); 053 sEntityMap.put("Iota", 921); 054 sEntityMap.put("Kappa", 922); 055 sEntityMap.put("Lambda", 923); 056 sEntityMap.put("Mu", 924); 057 sEntityMap.put("Nu", 925); 058 sEntityMap.put("Xi", 926); 059 sEntityMap.put("Omicron", 927); 060 sEntityMap.put("Pi", 928); 061 sEntityMap.put("Rho", 929); 062 sEntityMap.put("Sigma", 931); 063 sEntityMap.put("Tau", 932); 064 sEntityMap.put("Upsilon", 933); 065 sEntityMap.put("Phi", 934); 066 sEntityMap.put("Chi", 935); 067 sEntityMap.put("Psi", 936); 068 sEntityMap.put("Omega", 937); 069 070 sEntityMap.put("alpha", 945); 071 sEntityMap.put("beta", 946); 072 sEntityMap.put("gamma", 947); 073 sEntityMap.put("delta", 948); 074 sEntityMap.put("epsilon", 949); 075 sEntityMap.put("zeta", 950); 076 sEntityMap.put("eta", 951); 077 sEntityMap.put("theta", 952); 078 sEntityMap.put("iota", 953); 079 sEntityMap.put("kappa", 954); 080 sEntityMap.put("lambda", 955); 081 sEntityMap.put("mu", 956); 082 sEntityMap.put("nu", 957); 083 sEntityMap.put("xi", 958); 084 sEntityMap.put("omicron", 959); 085 sEntityMap.put("pi", 960); 086 sEntityMap.put("rho", 961); 087 sEntityMap.put("sigmaf", 962); 088 sEntityMap.put("sigma", 963); 089 sEntityMap.put("tau", 964); 090 sEntityMap.put("upsilon", 965); 091 sEntityMap.put("phi", 966); 092 sEntityMap.put("chi", 967); 093 sEntityMap.put("psi", 968); 094 sEntityMap.put("omega", 969); 095 sEntityMap.put("thetasym", 977); 096 sEntityMap.put("upsih", 978); 097 sEntityMap.put("piv", 982); 098 099 // General Punctuation 100 sEntityMap.put("bull", 8226); 101 sEntityMap.put("hellip", 8230); 102 sEntityMap.put("prime", 8242); 103 sEntityMap.put("Prime", 8243); 104 sEntityMap.put("oline", 8254); 105 sEntityMap.put("frasl", 8260); 106 107 // Letterlike Symbols 108 sEntityMap.put("weierp", 8472); 109 sEntityMap.put("image", 8465); 110 sEntityMap.put("real", 8476); 111 sEntityMap.put("trade", 8482); 112 sEntityMap.put("alefsym", 8501); 113 114 // Arrows 115 sEntityMap.put("larr", 8592); 116 sEntityMap.put("uarr", 8593); 117 sEntityMap.put("rarr", 8594); 118 sEntityMap.put("darr", 8595); 119 sEntityMap.put("harr", 8596); 120 sEntityMap.put("crarr", 8629); 121 sEntityMap.put("lArr", 8656); 122 sEntityMap.put("uArr", 8657); 123 sEntityMap.put("rArr", 8658); 124 sEntityMap.put("dArr", 8659); 125 sEntityMap.put("hArr", 8660); 126 127 // Mathematical Operators 128 sEntityMap.put("forall", 8704); 129 sEntityMap.put("part", 8706); 130 sEntityMap.put("exist", 8707); 131 sEntityMap.put("empty", 8709); 132 sEntityMap.put("nabla", 8711); 133 sEntityMap.put("isin", 8712); 134 sEntityMap.put("notin", 8713); 135 sEntityMap.put("ni", 8715); 136 sEntityMap.put("prod", 8719); 137 sEntityMap.put("sum", 8721); 138 sEntityMap.put("minus", 8722); 139 sEntityMap.put("lowast", 8727); 140 sEntityMap.put("radic", 8730); 141 sEntityMap.put("prop", 8733); 142 sEntityMap.put("infin", 8734); 143 sEntityMap.put("ang", 8736); 144 sEntityMap.put("and", 8743); 145 sEntityMap.put("or", 8744); 146 sEntityMap.put("cap", 8745); 147 sEntityMap.put("cup", 8746); 148 sEntityMap.put("int", 8747); 149 sEntityMap.put("there4", 8756); 150 sEntityMap.put("sim", 8764); 151 sEntityMap.put("cong", 8773); 152 sEntityMap.put("asymp", 8776); 153 sEntityMap.put("ne", 8800); 154 sEntityMap.put("equiv", 8801); 155 sEntityMap.put("le", 8804); 156 sEntityMap.put("ge", 8805); 157 sEntityMap.put("sub", 8834); 158 sEntityMap.put("sup", 8835); 159 sEntityMap.put("nsub", 8836); 160 sEntityMap.put("sube", 8838); 161 sEntityMap.put("supe", 8839); 162 sEntityMap.put("oplus", 8853); 163 sEntityMap.put("otimes", 8855); 164 sEntityMap.put("perp", 8869); 165 sEntityMap.put("sdot", 8901); 166 167 // Miscellaneous Technical 168 sEntityMap.put("lceil", 8968); 169 sEntityMap.put("rceil", 8969); 170 sEntityMap.put("lfloor", 8970); 171 sEntityMap.put("rfloor", 8971); 172 sEntityMap.put("lang", 9001); 173 sEntityMap.put("rang", 9002); 174 175 // Geometric Shapes 176 sEntityMap.put("loz", 9674); 177 178 // Miscellaneous Symbols 179 sEntityMap.put("spades", 9824); 180 sEntityMap.put("clubs", 9827); 181 sEntityMap.put("hearts", 9829); 182 sEntityMap.put("diams", 9830); 183 } 184 185 //--------------------------------------------------------------------------- 186 private SymbolEntities() 187 { 188 189 } 190 191 //--------------------------------------------------------------------------- 192 public static SymbolEntities getInstance() 193 { 194 if (null == sInstance) 195 { 196 sInstance = new SymbolEntities(); 197 } 198 199 return sInstance; 200 } 201 202 //--------------------------------------------------------------------------- 203 protected BiMap<String, Integer> getEntityMap() 204 { 205 return sEntityMap; 206 } 207 208}