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}