327 lines
6.5 KiB
Java
327 lines
6.5 KiB
Java
/*
|
|
* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* This code is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License version 2 only, as
|
|
* published by the Free Software Foundation. Oracle designates this
|
|
* particular file as subject to the "Classpath" exception as provided
|
|
* by Oracle in the LICENSE file that accompanied this code.
|
|
*
|
|
* This code 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
|
|
* version 2 for more details (a copy is included in the LICENSE file that
|
|
* accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU General Public License version
|
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*
|
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
* or visit www.oracle.com if you need additional information or have any
|
|
* questions.
|
|
*/
|
|
|
|
package com.sun.tools.doclint;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Table of entities defined in HTML 4.01.
|
|
*
|
|
* <p> Derived from
|
|
* <a href="http://www.w3.org/TR/html4/sgml/entities.html">Character entity references in HTML 4</a>.
|
|
*
|
|
* The name of the member follows the name of the entity,
|
|
* except when it clashes with a keyword, in which case
|
|
* it is prefixed by '_'.
|
|
*
|
|
* <p><b>This is NOT part of any supported API.
|
|
* If you write code that depends on this, you do so at your own
|
|
* risk. This code and its internal interfaces are subject to change
|
|
* or deletion without notice.</b></p>
|
|
*/
|
|
public enum Entity {
|
|
nbsp(160),
|
|
iexcl(161),
|
|
cent(162),
|
|
pound(163),
|
|
curren(164),
|
|
yen(165),
|
|
brvbar(166),
|
|
sect(167),
|
|
uml(168),
|
|
copy(169),
|
|
ordf(170),
|
|
laquo(171),
|
|
not(172),
|
|
shy(173),
|
|
reg(174),
|
|
macr(175),
|
|
deg(176),
|
|
plusmn(177),
|
|
sup2(178),
|
|
sup3(179),
|
|
acute(180),
|
|
micro(181),
|
|
para(182),
|
|
middot(183),
|
|
cedil(184),
|
|
sup1(185),
|
|
ordm(186),
|
|
raquo(187),
|
|
frac14(188),
|
|
frac12(189),
|
|
frac34(190),
|
|
iquest(191),
|
|
Agrave(192),
|
|
Aacute(193),
|
|
Acirc(194),
|
|
Atilde(195),
|
|
Auml(196),
|
|
Aring(197),
|
|
AElig(198),
|
|
Ccedil(199),
|
|
Egrave(200),
|
|
Eacute(201),
|
|
Ecirc(202),
|
|
Euml(203),
|
|
Igrave(204),
|
|
Iacute(205),
|
|
Icirc(206),
|
|
Iuml(207),
|
|
ETH(208),
|
|
Ntilde(209),
|
|
Ograve(210),
|
|
Oacute(211),
|
|
Ocirc(212),
|
|
Otilde(213),
|
|
Ouml(214),
|
|
times(215),
|
|
Oslash(216),
|
|
Ugrave(217),
|
|
Uacute(218),
|
|
Ucirc(219),
|
|
Uuml(220),
|
|
Yacute(221),
|
|
THORN(222),
|
|
szlig(223),
|
|
agrave(224),
|
|
aacute(225),
|
|
acirc(226),
|
|
atilde(227),
|
|
auml(228),
|
|
aring(229),
|
|
aelig(230),
|
|
ccedil(231),
|
|
egrave(232),
|
|
eacute(233),
|
|
ecirc(234),
|
|
euml(235),
|
|
igrave(236),
|
|
iacute(237),
|
|
icirc(238),
|
|
iuml(239),
|
|
eth(240),
|
|
ntilde(241),
|
|
ograve(242),
|
|
oacute(243),
|
|
ocirc(244),
|
|
otilde(245),
|
|
ouml(246),
|
|
divide(247),
|
|
oslash(248),
|
|
ugrave(249),
|
|
uacute(250),
|
|
ucirc(251),
|
|
uuml(252),
|
|
yacute(253),
|
|
thorn(254),
|
|
yuml(255),
|
|
fnof(402),
|
|
Alpha(913),
|
|
Beta(914),
|
|
Gamma(915),
|
|
Delta(916),
|
|
Epsilon(917),
|
|
Zeta(918),
|
|
Eta(919),
|
|
Theta(920),
|
|
Iota(921),
|
|
Kappa(922),
|
|
Lambda(923),
|
|
Mu(924),
|
|
Nu(925),
|
|
Xi(926),
|
|
Omicron(927),
|
|
Pi(928),
|
|
Rho(929),
|
|
Sigma(931),
|
|
Tau(932),
|
|
Upsilon(933),
|
|
Phi(934),
|
|
Chi(935),
|
|
Psi(936),
|
|
Omega(937),
|
|
alpha(945),
|
|
beta(946),
|
|
gamma(947),
|
|
delta(948),
|
|
epsilon(949),
|
|
zeta(950),
|
|
eta(951),
|
|
theta(952),
|
|
iota(953),
|
|
kappa(954),
|
|
lambda(955),
|
|
mu(956),
|
|
nu(957),
|
|
xi(958),
|
|
omicron(959),
|
|
pi(960),
|
|
rho(961),
|
|
sigmaf(962),
|
|
sigma(963),
|
|
tau(964),
|
|
upsilon(965),
|
|
phi(966),
|
|
chi(967),
|
|
psi(968),
|
|
omega(969),
|
|
thetasym(977),
|
|
upsih(978),
|
|
piv(982),
|
|
bull(8226),
|
|
hellip(8230),
|
|
prime(8242),
|
|
Prime(8243),
|
|
oline(8254),
|
|
frasl(8260),
|
|
weierp(8472),
|
|
image(8465),
|
|
real(8476),
|
|
trade(8482),
|
|
alefsym(8501),
|
|
larr(8592),
|
|
uarr(8593),
|
|
rarr(8594),
|
|
darr(8595),
|
|
harr(8596),
|
|
crarr(8629),
|
|
lArr(8656),
|
|
uArr(8657),
|
|
rArr(8658),
|
|
dArr(8659),
|
|
hArr(8660),
|
|
forall(8704),
|
|
part(8706),
|
|
exist(8707),
|
|
empty(8709),
|
|
nabla(8711),
|
|
isin(8712),
|
|
notin(8713),
|
|
ni(8715),
|
|
prod(8719),
|
|
sum(8721),
|
|
minus(8722),
|
|
lowast(8727),
|
|
radic(8730),
|
|
prop(8733),
|
|
infin(8734),
|
|
ang(8736),
|
|
and(8743),
|
|
or(8744),
|
|
cap(8745),
|
|
cup(8746),
|
|
_int(8747),
|
|
there4(8756),
|
|
sim(8764),
|
|
cong(8773),
|
|
asymp(8776),
|
|
ne(8800),
|
|
equiv(8801),
|
|
le(8804),
|
|
ge(8805),
|
|
sub(8834),
|
|
sup(8835),
|
|
nsub(8836),
|
|
sube(8838),
|
|
supe(8839),
|
|
oplus(8853),
|
|
otimes(8855),
|
|
perp(8869),
|
|
sdot(8901),
|
|
lceil(8968),
|
|
rceil(8969),
|
|
lfloor(8970),
|
|
rfloor(8971),
|
|
lang(9001),
|
|
rang(9002),
|
|
loz(9674),
|
|
spades(9824),
|
|
clubs(9827),
|
|
hearts(9829),
|
|
diams(9830),
|
|
quot(34),
|
|
amp(38),
|
|
lt(60),
|
|
gt(62),
|
|
OElig(338),
|
|
oelig(339),
|
|
Scaron(352),
|
|
scaron(353),
|
|
Yuml(376),
|
|
circ(710),
|
|
tilde(732),
|
|
ensp(8194),
|
|
emsp(8195),
|
|
thinsp(8201),
|
|
zwnj(8204),
|
|
zwj(8205),
|
|
lrm(8206),
|
|
rlm(8207),
|
|
ndash(8211),
|
|
mdash(8212),
|
|
lsquo(8216),
|
|
rsquo(8217),
|
|
sbquo(8218),
|
|
ldquo(8220),
|
|
rdquo(8221),
|
|
bdquo(8222),
|
|
dagger(8224),
|
|
Dagger(8225),
|
|
permil(8240),
|
|
lsaquo(8249),
|
|
rsaquo(8250),
|
|
euro(8364);
|
|
|
|
int code;
|
|
|
|
private Entity(int code) {
|
|
this.code = code;
|
|
}
|
|
|
|
static boolean isValid(String name) {
|
|
return names.containsKey(name);
|
|
}
|
|
|
|
static boolean isValid(int code) {
|
|
// allow numeric codes for standard ANSI characters
|
|
return codes.containsKey(code) || ( 32 <= code && code < 2127);
|
|
}
|
|
|
|
private static final Map<String,Entity> names = new HashMap<String,Entity>();
|
|
private static final Map<Integer,Entity> codes = new HashMap<Integer,Entity>();
|
|
static {
|
|
for (Entity e: values()) {
|
|
String name = e.name();
|
|
int code = e.code;
|
|
if (name.startsWith("_")) name = name.substring(1);
|
|
names.put(name, e);
|
|
codes.put(code, e);
|
|
}
|
|
}
|
|
}
|