/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package freenet.support;
import java.util.HashMap;
/**
* Class that provides data structures filled with HTML Entities and correspondent char value
*
* @author Alberto Bacchelli <sback@freenetproject.org>
*/
public final class HTMLEntities {
/**
* a Map where the HTML Entity is the value and the correspondent char is the key
*/
public static final HashMap<Character, String> encodeMap;
/**
* a Map where the HTML Entity is the key and the correspondent char is the value
*/
public static final HashMap<String, Character> decodeMap;
private static final Object[][] charArray = {
{Character.valueOf((char)0), "#0"},
{Character.valueOf((char)34), "quot"},
{Character.valueOf((char)38), "amp"},
{Character.valueOf((char)39), "#39"},
{Character.valueOf((char)60), "lt"},
{Character.valueOf((char)62), "gt"},
{Character.valueOf((char)160), "nbsp"},
{Character.valueOf((char)161), "iexcl"},
{Character.valueOf((char)162), "cent"},
{Character.valueOf((char)163), "pound"},
{Character.valueOf((char)164), "curren"},
{Character.valueOf((char)165), "yen"},
{Character.valueOf((char)166), "brvbar"},
{Character.valueOf((char)167), "sect"},
{Character.valueOf((char)168), "uml"},
{Character.valueOf((char)169), "copy"},
{Character.valueOf((char)170), "ordf"},
{Character.valueOf((char)171), "laquo"},
{Character.valueOf((char)172), "not"},
{Character.valueOf((char)173), "shy"},
{Character.valueOf((char)174), "reg"},
{Character.valueOf((char)175), "macr"},
{Character.valueOf((char)176), "deg"},
{Character.valueOf((char)177), "plusmn"},
{Character.valueOf((char)178), "sup2"},
{Character.valueOf((char)179), "sup3"},
{Character.valueOf((char)180), "acute"},
{Character.valueOf((char)181), "micro"},
{Character.valueOf((char)182), "para"},
{Character.valueOf((char)183), "middot"},
{Character.valueOf((char)184), "cedil"},
{Character.valueOf((char)185), "sup1"},
{Character.valueOf((char)186), "ordm"},
{Character.valueOf((char)187), "raquo"},
{Character.valueOf((char)188), "frac14"},
{Character.valueOf((char)189), "frac12"},
{Character.valueOf((char)190), "frac34"},
{Character.valueOf((char)191), "iquest"},
{Character.valueOf((char)192), "Agrave"},
{Character.valueOf((char)193), "Aacute"},
{Character.valueOf((char)194), "Acirc"},
{Character.valueOf((char)195), "Atilde"},
{Character.valueOf((char)196), "Auml"},
{Character.valueOf((char)197), "Aring"},
{Character.valueOf((char)198), "AElig"},
{Character.valueOf((char)199), "Ccedil"},
{Character.valueOf((char)200), "Egrave"},
{Character.valueOf((char)201), "Eacute"},
{Character.valueOf((char)202), "Ecirc"},
{Character.valueOf((char)203), "Euml"},
{Character.valueOf((char)204), "Igrave"},
{Character.valueOf((char)205), "Iacute"},
{Character.valueOf((char)206), "Icirc"},
{Character.valueOf((char)207), "Iuml"},
{Character.valueOf((char)208), "ETH"},
{Character.valueOf((char)209), "Ntilde"},
{Character.valueOf((char)210), "Ograve"},
{Character.valueOf((char)211), "Oacute"},
{Character.valueOf((char)212), "Ocirc"},
{Character.valueOf((char)213), "Otilde"},
{Character.valueOf((char)214), "Ouml"},
{Character.valueOf((char)215), "times"},
{Character.valueOf((char)216), "Oslash"},
{Character.valueOf((char)217), "Ugrave"},
{Character.valueOf((char)218), "Uacute"},
{Character.valueOf((char)219), "Ucirc"},
{Character.valueOf((char)220), "Uuml"},
{Character.valueOf((char)221), "Yacute"},
{Character.valueOf((char)222), "THORN"},
{Character.valueOf((char)223), "szlig"},
{Character.valueOf((char)224), "agrave"},
{Character.valueOf((char)225), "aacute"},
{Character.valueOf((char)226), "acirc"},
{Character.valueOf((char)227), "atilde"},
{Character.valueOf((char)228), "auml"},
{Character.valueOf((char)229), "aring"},
{Character.valueOf((char)230), "aelig"},
{Character.valueOf((char)231), "ccedil"},
{Character.valueOf((char)232), "egrave"},
{Character.valueOf((char)233), "eacute"},
{Character.valueOf((char)234), "ecirc"},
{Character.valueOf((char)235), "euml"},
{Character.valueOf((char)236), "igrave"},
{Character.valueOf((char)237), "iacute"},
{Character.valueOf((char)238), "icirc"},
{Character.valueOf((char)239), "iuml"},
{Character.valueOf((char)240), "eth"},
{Character.valueOf((char)241), "ntilde"},
{Character.valueOf((char)242), "ograve"},
{Character.valueOf((char)243), "oacute"},
{Character.valueOf((char)244), "ocirc"},
{Character.valueOf((char)245), "otilde"},
{Character.valueOf((char)246), "ouml"},
{Character.valueOf((char)247), "divide"},
{Character.valueOf((char)248), "oslash"},
{Character.valueOf((char)249), "ugrave"},
{Character.valueOf((char)250), "uacute"},
{Character.valueOf((char)251), "ucirc"},
{Character.valueOf((char)252), "uuml"},
{Character.valueOf((char)253), "yacute"},
{Character.valueOf((char)254), "thorn"},
{Character.valueOf((char)255), "yuml"},
{Character.valueOf((char)260), "#260"},
{Character.valueOf((char)261), "#261"},
{Character.valueOf((char)262), "#262"},
{Character.valueOf((char)263), "#263"},
{Character.valueOf((char)280), "#280"},
{Character.valueOf((char)281), "#281"},
{Character.valueOf((char)321), "#321"},
{Character.valueOf((char)322), "#322"},
{Character.valueOf((char)323), "#323"},
{Character.valueOf((char)324), "#324"},
{Character.valueOf((char)338), "OElig"},
{Character.valueOf((char)339), "oelig"},
{Character.valueOf((char)346), "#346"},
{Character.valueOf((char)347), "#347"},
{Character.valueOf((char)352), "Scaron"},
{Character.valueOf((char)353), "scaron"},
{Character.valueOf((char)376), "Yuml"},
{Character.valueOf((char)377), "#377"},
{Character.valueOf((char)378), "#378"},
{Character.valueOf((char)379), "#379"},
{Character.valueOf((char)380), "#380"},
{Character.valueOf((char)402), "fnof"},
{Character.valueOf((char)710), "circ"},
{Character.valueOf((char)732), "tilde"},
{Character.valueOf((char)913), "Alpha"},
{Character.valueOf((char)914), "Beta"},
{Character.valueOf((char)915), "Gamma"},
{Character.valueOf((char)916), "Delta"},
{Character.valueOf((char)917), "Epsilon"},
{Character.valueOf((char)918), "Zeta"},
{Character.valueOf((char)919), "Eta"},
{Character.valueOf((char)920), "Theta"},
{Character.valueOf((char)921), "Iota"},
{Character.valueOf((char)922), "Kappa"},
{Character.valueOf((char)923), "Lambda"},
{Character.valueOf((char)924), "Mu"},
{Character.valueOf((char)925), "Nu"},
{Character.valueOf((char)926), "Xi"},
{Character.valueOf((char)927), "Omicron"},
{Character.valueOf((char)928), "Pi"},
{Character.valueOf((char)929), "Rho"},
{Character.valueOf((char)931), "Sigma"},
{Character.valueOf((char)932), "Tau"},
{Character.valueOf((char)933), "Upsilon"},
{Character.valueOf((char)934), "Phi"},
{Character.valueOf((char)935), "Chi"},
{Character.valueOf((char)936), "Psi"},
{Character.valueOf((char)937), "Omega"},
{Character.valueOf((char)945), "alpha"},
{Character.valueOf((char)946), "beta"},
{Character.valueOf((char)947), "gamma"},
{Character.valueOf((char)948), "delta"},
{Character.valueOf((char)949), "epsilon"},
{Character.valueOf((char)950), "zeta"},
{Character.valueOf((char)951), "eta"},
{Character.valueOf((char)952), "theta"},
{Character.valueOf((char)953), "iota"},
{Character.valueOf((char)954), "kappa"},
{Character.valueOf((char)955), "lambda"},
{Character.valueOf((char)956), "mu"},
{Character.valueOf((char)957), "nu"},
{Character.valueOf((char)958), "xi"},
{Character.valueOf((char)959), "omicron"},
{Character.valueOf((char)960), "pi"},
{Character.valueOf((char)961), "rho"},
{Character.valueOf((char)962), "sigmaf"},
{Character.valueOf((char)963), "sigma"},
{Character.valueOf((char)964), "tau"},
{Character.valueOf((char)965), "upsilon"},
{Character.valueOf((char)966), "phi"},
{Character.valueOf((char)967), "chi"},
{Character.valueOf((char)968), "psi"},
{Character.valueOf((char)969), "omega"},
{Character.valueOf((char)977), "thetasym"},
{Character.valueOf((char)978), "upsih"},
{Character.valueOf((char)982), "piv"},
{Character.valueOf((char)8194), "ensp"},
{Character.valueOf((char)8195), "emsp"},
{Character.valueOf((char)8201), "thinsp"},
{Character.valueOf((char)8204), "zwnj"},
{Character.valueOf((char)8205), "zwj"},
{Character.valueOf((char)8206), "lrm"},
{Character.valueOf((char)8207), "rlm"},
{Character.valueOf((char)8211), "ndash"},
{Character.valueOf((char)8212), "mdash"},
{Character.valueOf((char)8216), "lsquo"},
{Character.valueOf((char)8217), "rsquo"},
{Character.valueOf((char)8218), "sbquo"},
{Character.valueOf((char)8220), "ldquo"},
{Character.valueOf((char)8221), "rdquo"},
{Character.valueOf((char)8222), "bdquo"},
{Character.valueOf((char)8224), "dagger"},
{Character.valueOf((char)8225), "Dagger"},
{Character.valueOf((char)8226), "bull"},
{Character.valueOf((char)8230), "hellip"},
{Character.valueOf((char)8240), "permil"},
{Character.valueOf((char)8242), "prime"},
{Character.valueOf((char)8243), "Prime"},
{Character.valueOf((char)8249), "lsaquo"},
{Character.valueOf((char)8250), "rsaquo"},
{Character.valueOf((char)8254), "oline"},
{Character.valueOf((char)8260), "frasl"},
{Character.valueOf((char)8364), "euro"},
{Character.valueOf((char)8465), "image"},
{Character.valueOf((char)8472), "weierp"},
{Character.valueOf((char)8476), "real"},
{Character.valueOf((char)8482), "trade"},
{Character.valueOf((char)8501), "alefsym"},
{Character.valueOf((char)8592), "larr"},
{Character.valueOf((char)8593), "uarr"},
{Character.valueOf((char)8594), "rarr"},
{Character.valueOf((char)8595), "darr"},
{Character.valueOf((char)8596), "harr"},
{Character.valueOf((char)8629), "crarr"},
{Character.valueOf((char)8656), "lArr"},
{Character.valueOf((char)8657), "uArr"},
{Character.valueOf((char)8658), "rArr"},
{Character.valueOf((char)8659), "dArr"},
{Character.valueOf((char)8660), "hArr"},
{Character.valueOf((char)8704), "forall"},
{Character.valueOf((char)8706), "part"},
{Character.valueOf((char)8707), "exist"},
{Character.valueOf((char)8709), "empty"},
{Character.valueOf((char)8711), "nabla"},
{Character.valueOf((char)8712), "isin"},
{Character.valueOf((char)8713), "notin"},
{Character.valueOf((char)8715), "ni"},
{Character.valueOf((char)8719), "prod"},
{Character.valueOf((char)8721), "sum"},
{Character.valueOf((char)8722), "minus"},
{Character.valueOf((char)8727), "lowast"},
{Character.valueOf((char)8730), "radic"},
{Character.valueOf((char)8733), "prop"},
{Character.valueOf((char)8734), "infin"},
{Character.valueOf((char)8736), "ang"},
{Character.valueOf((char)8743), "and"},
{Character.valueOf((char)8744), "or"},
{Character.valueOf((char)8745), "cap"},
{Character.valueOf((char)8746), "cup"},
{Character.valueOf((char)8747), "int"},
{Character.valueOf((char)8756), "there4"},
{Character.valueOf((char)8764), "sim"},
{Character.valueOf((char)8773), "cong"},
{Character.valueOf((char)8776), "asymp"},
{Character.valueOf((char)8800), "ne"},
{Character.valueOf((char)8801), "equiv"},
{Character.valueOf((char)8804), "le"},
{Character.valueOf((char)8805), "ge"},
{Character.valueOf((char)8834), "sub"},
{Character.valueOf((char)8835), "sup"},
{Character.valueOf((char)8836), "nsub"},
{Character.valueOf((char)8838), "sube"},
{Character.valueOf((char)8839), "supe"},
{Character.valueOf((char)8853), "oplus"},
{Character.valueOf((char)8855), "otimes"},
{Character.valueOf((char)8869), "perp"},
{Character.valueOf((char)8901), "sdot"},
{Character.valueOf((char)8968), "lceil"},
{Character.valueOf((char)8969), "rceil"},
{Character.valueOf((char)8970), "lfloor"},
{Character.valueOf((char)8971), "rfloor"},
{Character.valueOf((char)9001), "lang"},
{Character.valueOf((char)9002), "rang"},
{Character.valueOf((char)9674), "loz"},
{Character.valueOf((char)9824), "spades"},
{Character.valueOf((char)9827), "clubs"},
{Character.valueOf((char)9829), "hearts"},
{Character.valueOf((char)9830), "diams"}
};
static {
encodeMap = new HashMap<Character, String>();
decodeMap = new HashMap<String, Character>();
for(Object[] ch: charArray) {
encodeMap.put((Character) ch[0], (String) ch[1]);
decodeMap.put((String) ch[1], (Character) ch[0]);
}
}
}