jjg@1455: /* jjg@1506: * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. jjg@1455: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. jjg@1455: * jjg@1455: * This code is free software; you can redistribute it and/or modify it jjg@1455: * under the terms of the GNU General Public License version 2 only, as jjg@1455: * published by the Free Software Foundation. Oracle designates this jjg@1455: * particular file as subject to the "Classpath" exception as provided jjg@1455: * by Oracle in the LICENSE file that accompanied this code. jjg@1455: * jjg@1455: * This code is distributed in the hope that it will be useful, but WITHOUT jjg@1455: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or jjg@1455: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License jjg@1455: * version 2 for more details (a copy is included in the LICENSE file that jjg@1455: * accompanied this code). jjg@1455: * jjg@1455: * You should have received a copy of the GNU General Public License version jjg@1455: * 2 along with this work; if not, write to the Free Software Foundation, jjg@1455: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. jjg@1455: * jjg@1455: * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA jjg@1455: * or visit www.oracle.com if you need additional information or have any jjg@1455: * questions. jjg@1455: */ jjg@1455: jjg@1455: package com.sun.tools.doclint; jjg@1455: jjg@1455: import java.util.HashMap; jjg@1455: import java.util.Map; jjg@1455: jjg@1455: /** jjg@1455: * Table of entities defined in HTML 4.01. jjg@1455: * jjg@1455: *

Derived from jjg@1455: * Character entity references in HTML 4. jjg@1455: * jjg@1455: * The name of the member follows the name of the entity, jjg@1455: * except when it clashes with a keyword, in which case jjg@1455: * it is prefixed by '_'. jjg@1455: * jjg@1455: *

This is NOT part of any supported API. jjg@1455: * If you write code that depends on this, you do so at your own jjg@1455: * risk. This code and its internal interfaces are subject to change jjg@1455: * or deletion without notice.

jjg@1455: */ jjg@1506: public enum Entity { jjg@1455: nbsp(160), jjg@1455: iexcl(161), jjg@1455: cent(162), jjg@1455: pound(163), jjg@1455: curren(164), jjg@1455: yen(165), jjg@1455: brvbar(166), jjg@1455: sect(167), jjg@1455: uml(168), jjg@1455: copy(169), jjg@1455: ordf(170), jjg@1455: laquo(171), jjg@1455: not(172), jjg@1455: shy(173), jjg@1455: reg(174), jjg@1455: macr(175), jjg@1455: deg(176), jjg@1455: plusmn(177), jjg@1455: sup2(178), jjg@1455: sup3(179), jjg@1455: acute(180), jjg@1455: micro(181), jjg@1455: para(182), jjg@1455: middot(183), jjg@1455: cedil(184), jjg@1455: sup1(185), jjg@1455: ordm(186), jjg@1455: raquo(187), jjg@1455: frac14(188), jjg@1455: frac12(189), jjg@1455: frac34(190), jjg@1455: iquest(191), jjg@1455: Agrave(192), jjg@1455: Aacute(193), jjg@1455: Acirc(194), jjg@1455: Atilde(195), jjg@1455: Auml(196), jjg@1455: Aring(197), jjg@1455: AElig(198), jjg@1455: Ccedil(199), jjg@1455: Egrave(200), jjg@1455: Eacute(201), jjg@1455: Ecirc(202), jjg@1455: Euml(203), jjg@1455: Igrave(204), jjg@1455: Iacute(205), jjg@1455: Icirc(206), jjg@1455: Iuml(207), jjg@1455: ETH(208), jjg@1455: Ntilde(209), jjg@1455: Ograve(210), jjg@1455: Oacute(211), jjg@1455: Ocirc(212), jjg@1455: Otilde(213), jjg@1455: Ouml(214), jjg@1455: times(215), jjg@1455: Oslash(216), jjg@1455: Ugrave(217), jjg@1455: Uacute(218), jjg@1455: Ucirc(219), jjg@1455: Uuml(220), jjg@1455: Yacute(221), jjg@1455: THORN(222), jjg@1455: szlig(223), jjg@1455: agrave(224), jjg@1455: aacute(225), jjg@1455: acirc(226), jjg@1455: atilde(227), jjg@1455: auml(228), jjg@1455: aring(229), jjg@1455: aelig(230), jjg@1455: ccedil(231), jjg@1455: egrave(232), jjg@1455: eacute(233), jjg@1455: ecirc(234), jjg@1455: euml(235), jjg@1455: igrave(236), jjg@1455: iacute(237), jjg@1455: icirc(238), jjg@1455: iuml(239), jjg@1455: eth(240), jjg@1455: ntilde(241), jjg@1455: ograve(242), jjg@1455: oacute(243), jjg@1455: ocirc(244), jjg@1455: otilde(245), jjg@1455: ouml(246), jjg@1455: divide(247), jjg@1455: oslash(248), jjg@1455: ugrave(249), jjg@1455: uacute(250), jjg@1455: ucirc(251), jjg@1455: uuml(252), jjg@1455: yacute(253), jjg@1455: thorn(254), jjg@1455: yuml(255), jjg@1455: fnof(402), jjg@1455: Alpha(913), jjg@1455: Beta(914), jjg@1455: Gamma(915), jjg@1455: Delta(916), jjg@1455: Epsilon(917), jjg@1455: Zeta(918), jjg@1455: Eta(919), jjg@1455: Theta(920), jjg@1455: Iota(921), jjg@1455: Kappa(922), jjg@1455: Lambda(923), jjg@1455: Mu(924), jjg@1455: Nu(925), jjg@1455: Xi(926), jjg@1455: Omicron(927), jjg@1455: Pi(928), jjg@1455: Rho(929), jjg@1455: Sigma(931), jjg@1455: Tau(932), jjg@1455: Upsilon(933), jjg@1455: Phi(934), jjg@1455: Chi(935), jjg@1455: Psi(936), jjg@1455: Omega(937), jjg@1455: alpha(945), jjg@1455: beta(946), jjg@1455: gamma(947), jjg@1455: delta(948), jjg@1455: epsilon(949), jjg@1455: zeta(950), jjg@1455: eta(951), jjg@1455: theta(952), jjg@1455: iota(953), jjg@1455: kappa(954), jjg@1455: lambda(955), jjg@1455: mu(956), jjg@1455: nu(957), jjg@1455: xi(958), jjg@1455: omicron(959), jjg@1455: pi(960), jjg@1455: rho(961), jjg@1455: sigmaf(962), jjg@1455: sigma(963), jjg@1455: tau(964), jjg@1455: upsilon(965), jjg@1455: phi(966), jjg@1455: chi(967), jjg@1455: psi(968), jjg@1455: omega(969), jjg@1455: thetasym(977), jjg@1455: upsih(978), jjg@1455: piv(982), jjg@1455: bull(8226), jjg@1455: hellip(8230), jjg@1455: prime(8242), jjg@1455: Prime(8243), jjg@1455: oline(8254), jjg@1455: frasl(8260), jjg@1455: weierp(8472), jjg@1455: image(8465), jjg@1455: real(8476), jjg@1455: trade(8482), jjg@1455: alefsym(8501), jjg@1455: larr(8592), jjg@1455: uarr(8593), jjg@1455: rarr(8594), jjg@1455: darr(8595), jjg@1455: harr(8596), jjg@1455: crarr(8629), jjg@1455: lArr(8656), jjg@1455: uArr(8657), jjg@1455: rArr(8658), jjg@1455: dArr(8659), jjg@1455: hArr(8660), jjg@1455: forall(8704), jjg@1455: part(8706), jjg@1455: exist(8707), jjg@1455: empty(8709), jjg@1455: nabla(8711), jjg@1455: isin(8712), jjg@1455: notin(8713), jjg@1455: ni(8715), jjg@1455: prod(8719), jjg@1455: sum(8721), jjg@1455: minus(8722), jjg@1455: lowast(8727), jjg@1455: radic(8730), jjg@1455: prop(8733), jjg@1455: infin(8734), jjg@1455: ang(8736), jjg@1455: and(8743), jjg@1455: or(8744), jjg@1455: cap(8745), jjg@1455: cup(8746), jjg@1455: _int(8747), jjg@1455: there4(8756), jjg@1455: sim(8764), jjg@1455: cong(8773), jjg@1455: asymp(8776), jjg@1455: ne(8800), jjg@1455: equiv(8801), jjg@1455: le(8804), jjg@1455: ge(8805), jjg@1455: sub(8834), jjg@1455: sup(8835), jjg@1455: nsub(8836), jjg@1455: sube(8838), jjg@1455: supe(8839), jjg@1455: oplus(8853), jjg@1455: otimes(8855), jjg@1455: perp(8869), jjg@1455: sdot(8901), jjg@1455: lceil(8968), jjg@1455: rceil(8969), jjg@1455: lfloor(8970), jjg@1455: rfloor(8971), jjg@1455: lang(9001), jjg@1455: rang(9002), jjg@1455: loz(9674), jjg@1455: spades(9824), jjg@1455: clubs(9827), jjg@1455: hearts(9829), jjg@1455: diams(9830), jjg@1455: quot(34), jjg@1455: amp(38), jjg@1455: lt(60), jjg@1455: gt(62), jjg@1455: OElig(338), jjg@1455: oelig(339), jjg@1455: Scaron(352), jjg@1455: scaron(353), jjg@1455: Yuml(376), jjg@1455: circ(710), jjg@1455: tilde(732), jjg@1455: ensp(8194), jjg@1455: emsp(8195), jjg@1455: thinsp(8201), jjg@1455: zwnj(8204), jjg@1455: zwj(8205), jjg@1455: lrm(8206), jjg@1455: rlm(8207), jjg@1455: ndash(8211), jjg@1455: mdash(8212), jjg@1455: lsquo(8216), jjg@1455: rsquo(8217), jjg@1455: sbquo(8218), jjg@1455: ldquo(8220), jjg@1455: rdquo(8221), jjg@1455: bdquo(8222), jjg@1455: dagger(8224), jjg@1455: Dagger(8225), jjg@1455: permil(8240), jjg@1455: lsaquo(8249), jjg@1455: rsaquo(8250), jjg@1455: euro(8364); jjg@1455: jjg@1455: int code; jjg@1455: jjg@1455: private Entity(int code) { jjg@1455: this.code = code; jjg@1455: } jjg@1455: jjg@1455: static boolean isValid(String name) { jjg@1455: return names.containsKey(name); jjg@1455: } jjg@1455: jjg@1455: static boolean isValid(int code) { jjg@1455: // allow numeric codes for standard ANSI characters jjg@1455: return codes.containsKey(code) || ( 32 <= code && code < 2127); jjg@1455: } jjg@1455: jjg@1455: private static final Map names = new HashMap(); jjg@1455: private static final Map codes = new HashMap(); jjg@1455: static { jjg@1455: for (Entity e: values()) { jjg@1455: String name = e.name(); jjg@1455: int code = e.code; jjg@1455: if (name.startsWith("_")) name = name.substring(1); jjg@1455: names.put(name, e); jjg@1455: codes.put(code, e); jjg@1455: } jjg@1455: } jjg@1455: }