001package com.hfg.xml.parser; 002 003 004import com.hfg.util.collection.BiHashMap; 005import com.hfg.util.collection.BiMap; 006 007//------------------------------------------------------------------------------ 008/** 009 Lookup class for the character entities defined in XHTML1-lat1.ent 010 011 @author J. Alex Taylor, hairyfatguy.com 012 */ 013//------------------------------------------------------------------------------ 014// com.hfg XML/HTML Coding Library 015// 016// This library is free software; you can redistribute it and/or 017// modify it under the terms of the GNU Lesser General Public 018// License as published by the Free Software Foundation; either 019// version 2.1 of the License, or (at your option) any later version. 020// 021// This library is distributed in the hope that it will be useful, 022// but WITHOUT ANY WARRANTY; without even the implied warranty of 023// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 024// Lesser General Public License for more details. 025// 026// You should have received a copy of the GNU Lesser General Public 027// License along with this library; if not, write to the Free Software 028// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 029// 030// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 031// jataylor@hairyfatguy.com 032//------------------------------------------------------------------------------ 033 034public class Latin1Entities extends AbstractEntities 035{ 036 private static Latin1Entities sInstance; 037 038 private static BiMap<String, Integer> sEntityMap = new BiHashMap<>(); 039 040 041 static 042 { 043 sEntityMap.put("nbsp", 160); 044 sEntityMap.put("iexcl", 161); 045 sEntityMap.put("cent", 162); 046 sEntityMap.put("pound", 163); 047 sEntityMap.put("curren", 164); 048 sEntityMap.put("yen", 165); 049 sEntityMap.put("brvbar", 166); 050 sEntityMap.put("sect", 167); 051 sEntityMap.put("uml", 168); 052 sEntityMap.put("copy", 169); 053 sEntityMap.put("ordf", 170); 054 sEntityMap.put("laquo", 171); 055 sEntityMap.put("not", 172); 056 sEntityMap.put("shy", 173); 057 sEntityMap.put("reg", 174); 058 sEntityMap.put("macr", 175); 059 sEntityMap.put("deg", 176); 060 sEntityMap.put("plusmn", 177); 061 sEntityMap.put("sup2", 178); 062 sEntityMap.put("sup3", 179); 063 sEntityMap.put("acute", 180); 064 sEntityMap.put("micro", 181); 065 sEntityMap.put("para", 182); 066 sEntityMap.put("middot", 183); 067 sEntityMap.put("cedil", 184); 068 sEntityMap.put("sup1", 185); 069 sEntityMap.put("ordm", 186); 070 sEntityMap.put("raquo", 187); 071 sEntityMap.put("frac14", 188); 072 sEntityMap.put("frac12", 189); 073 sEntityMap.put("frac34", 190); 074 sEntityMap.put("iquest", 191); 075 sEntityMap.put("Agrave", 192); 076 sEntityMap.put("Aacute", 193); 077 sEntityMap.put("Acirc", 194); 078 sEntityMap.put("Atilde", 195); 079 sEntityMap.put("Auml", 196); 080 sEntityMap.put("Aring", 197); 081 sEntityMap.put("AElig", 198); 082 sEntityMap.put("Ccedil", 199); 083 sEntityMap.put("Egrave", 200); 084 sEntityMap.put("Eacute", 201); 085 sEntityMap.put("Ecirc", 202); 086 sEntityMap.put("Euml", 203); 087 sEntityMap.put("Igrave", 204); 088 sEntityMap.put("Iacute", 205); 089 sEntityMap.put("Icirc", 206); 090 sEntityMap.put("Iuml", 207); 091 sEntityMap.put("ETH", 208); 092 sEntityMap.put("Ntilde", 209); 093 sEntityMap.put("Ograve", 210); 094 sEntityMap.put("Oacute", 211); 095 sEntityMap.put("Ocirc", 212); 096 sEntityMap.put("Otilde", 213); 097 sEntityMap.put("Ouml", 214); 098 sEntityMap.put("times", 215); 099 sEntityMap.put("Oslash", 216); 100 sEntityMap.put("Ugrave", 217); 101 sEntityMap.put("Uacute", 218); 102 sEntityMap.put("Ucirc", 219); 103 sEntityMap.put("Uuml", 220); 104 sEntityMap.put("Yacute", 221); 105 sEntityMap.put("THORN", 222); 106 sEntityMap.put("szlig", 223); 107 sEntityMap.put("agrave", 224); 108 sEntityMap.put("aacute", 225); 109 sEntityMap.put("acirc", 226); 110 sEntityMap.put("atilde", 227); 111 sEntityMap.put("auml", 228); 112 sEntityMap.put("aring", 229); 113 sEntityMap.put("aelig", 230); 114 sEntityMap.put("ccedil", 231); 115 sEntityMap.put("egrave", 232); 116 sEntityMap.put("eacute", 233); 117 sEntityMap.put("ecirc", 234); 118 sEntityMap.put("euml", 235); 119 sEntityMap.put("igrave", 236); 120 sEntityMap.put("iacute", 237); 121 sEntityMap.put("icirc", 238); 122 sEntityMap.put("iuml", 239); 123 sEntityMap.put("eth", 240); 124 sEntityMap.put("ntilde", 241); 125 sEntityMap.put("ograve", 242); 126 sEntityMap.put("oacute", 243); 127 sEntityMap.put("ocirc", 244); 128 sEntityMap.put("otilde", 245); 129 sEntityMap.put("ouml", 246); 130 sEntityMap.put("divide", 247); 131 sEntityMap.put("oslash", 248); 132 sEntityMap.put("ugrave", 249); 133 sEntityMap.put("uacute", 250); 134 sEntityMap.put("ucirc", 251); 135 sEntityMap.put("uuml", 252); 136 sEntityMap.put("yacute", 253); 137 sEntityMap.put("thorn", 254); 138 sEntityMap.put("yuml", 255); 139 } 140 141 //--------------------------------------------------------------------------- 142 private Latin1Entities() 143 { 144 145 } 146 147 //--------------------------------------------------------------------------- 148 public static Latin1Entities getInstance() 149 { 150 if (null == sInstance) 151 { 152 sInstance = new Latin1Entities(); 153 } 154 155 return sInstance; 156 } 157 158 //--------------------------------------------------------------------------- 159 protected BiMap<String, Integer> getEntityMap() 160 { 161 return sEntityMap; 162 } 163}