src/share/classes/com/sun/tools/doclint/Entity.java

changeset 1455
75ab654b5cd5
child 1506
4a3cfc970c6f
equal deleted inserted replaced
1454:02a18f209ab3 1455:75ab654b5cd5
1 /*
2 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.sun.tools.doclint;
27
28 import java.util.HashMap;
29 import java.util.Map;
30
31 /**
32 * Table of entities defined in HTML 4.01.
33 *
34 * <p> Derived from
35 * <a href="http://www.w3.org/TR/html4/sgml/entities.html">Character entity references in HTML 4</a>.
36 *
37 * The name of the member follows the name of the entity,
38 * except when it clashes with a keyword, in which case
39 * it is prefixed by '_'.
40 *
41 * <p><b>This is NOT part of any supported API.
42 * If you write code that depends on this, you do so at your own
43 * risk. This code and its internal interfaces are subject to change
44 * or deletion without notice.</b></p>
45 */
46 enum Entity {
47 nbsp(160),
48 iexcl(161),
49 cent(162),
50 pound(163),
51 curren(164),
52 yen(165),
53 brvbar(166),
54 sect(167),
55 uml(168),
56 copy(169),
57 ordf(170),
58 laquo(171),
59 not(172),
60 shy(173),
61 reg(174),
62 macr(175),
63 deg(176),
64 plusmn(177),
65 sup2(178),
66 sup3(179),
67 acute(180),
68 micro(181),
69 para(182),
70 middot(183),
71 cedil(184),
72 sup1(185),
73 ordm(186),
74 raquo(187),
75 frac14(188),
76 frac12(189),
77 frac34(190),
78 iquest(191),
79 Agrave(192),
80 Aacute(193),
81 Acirc(194),
82 Atilde(195),
83 Auml(196),
84 Aring(197),
85 AElig(198),
86 Ccedil(199),
87 Egrave(200),
88 Eacute(201),
89 Ecirc(202),
90 Euml(203),
91 Igrave(204),
92 Iacute(205),
93 Icirc(206),
94 Iuml(207),
95 ETH(208),
96 Ntilde(209),
97 Ograve(210),
98 Oacute(211),
99 Ocirc(212),
100 Otilde(213),
101 Ouml(214),
102 times(215),
103 Oslash(216),
104 Ugrave(217),
105 Uacute(218),
106 Ucirc(219),
107 Uuml(220),
108 Yacute(221),
109 THORN(222),
110 szlig(223),
111 agrave(224),
112 aacute(225),
113 acirc(226),
114 atilde(227),
115 auml(228),
116 aring(229),
117 aelig(230),
118 ccedil(231),
119 egrave(232),
120 eacute(233),
121 ecirc(234),
122 euml(235),
123 igrave(236),
124 iacute(237),
125 icirc(238),
126 iuml(239),
127 eth(240),
128 ntilde(241),
129 ograve(242),
130 oacute(243),
131 ocirc(244),
132 otilde(245),
133 ouml(246),
134 divide(247),
135 oslash(248),
136 ugrave(249),
137 uacute(250),
138 ucirc(251),
139 uuml(252),
140 yacute(253),
141 thorn(254),
142 yuml(255),
143 fnof(402),
144 Alpha(913),
145 Beta(914),
146 Gamma(915),
147 Delta(916),
148 Epsilon(917),
149 Zeta(918),
150 Eta(919),
151 Theta(920),
152 Iota(921),
153 Kappa(922),
154 Lambda(923),
155 Mu(924),
156 Nu(925),
157 Xi(926),
158 Omicron(927),
159 Pi(928),
160 Rho(929),
161 Sigma(931),
162 Tau(932),
163 Upsilon(933),
164 Phi(934),
165 Chi(935),
166 Psi(936),
167 Omega(937),
168 alpha(945),
169 beta(946),
170 gamma(947),
171 delta(948),
172 epsilon(949),
173 zeta(950),
174 eta(951),
175 theta(952),
176 iota(953),
177 kappa(954),
178 lambda(955),
179 mu(956),
180 nu(957),
181 xi(958),
182 omicron(959),
183 pi(960),
184 rho(961),
185 sigmaf(962),
186 sigma(963),
187 tau(964),
188 upsilon(965),
189 phi(966),
190 chi(967),
191 psi(968),
192 omega(969),
193 thetasym(977),
194 upsih(978),
195 piv(982),
196 bull(8226),
197 hellip(8230),
198 prime(8242),
199 Prime(8243),
200 oline(8254),
201 frasl(8260),
202 weierp(8472),
203 image(8465),
204 real(8476),
205 trade(8482),
206 alefsym(8501),
207 larr(8592),
208 uarr(8593),
209 rarr(8594),
210 darr(8595),
211 harr(8596),
212 crarr(8629),
213 lArr(8656),
214 uArr(8657),
215 rArr(8658),
216 dArr(8659),
217 hArr(8660),
218 forall(8704),
219 part(8706),
220 exist(8707),
221 empty(8709),
222 nabla(8711),
223 isin(8712),
224 notin(8713),
225 ni(8715),
226 prod(8719),
227 sum(8721),
228 minus(8722),
229 lowast(8727),
230 radic(8730),
231 prop(8733),
232 infin(8734),
233 ang(8736),
234 and(8743),
235 or(8744),
236 cap(8745),
237 cup(8746),
238 _int(8747),
239 there4(8756),
240 sim(8764),
241 cong(8773),
242 asymp(8776),
243 ne(8800),
244 equiv(8801),
245 le(8804),
246 ge(8805),
247 sub(8834),
248 sup(8835),
249 nsub(8836),
250 sube(8838),
251 supe(8839),
252 oplus(8853),
253 otimes(8855),
254 perp(8869),
255 sdot(8901),
256 lceil(8968),
257 rceil(8969),
258 lfloor(8970),
259 rfloor(8971),
260 lang(9001),
261 rang(9002),
262 loz(9674),
263 spades(9824),
264 clubs(9827),
265 hearts(9829),
266 diams(9830),
267 quot(34),
268 amp(38),
269 lt(60),
270 gt(62),
271 OElig(338),
272 oelig(339),
273 Scaron(352),
274 scaron(353),
275 Yuml(376),
276 circ(710),
277 tilde(732),
278 ensp(8194),
279 emsp(8195),
280 thinsp(8201),
281 zwnj(8204),
282 zwj(8205),
283 lrm(8206),
284 rlm(8207),
285 ndash(8211),
286 mdash(8212),
287 lsquo(8216),
288 rsquo(8217),
289 sbquo(8218),
290 ldquo(8220),
291 rdquo(8221),
292 bdquo(8222),
293 dagger(8224),
294 Dagger(8225),
295 permil(8240),
296 lsaquo(8249),
297 rsaquo(8250),
298 euro(8364);
299
300 int code;
301
302 private Entity(int code) {
303 this.code = code;
304 }
305
306 static boolean isValid(String name) {
307 return names.containsKey(name);
308 }
309
310 static boolean isValid(int code) {
311 // allow numeric codes for standard ANSI characters
312 return codes.containsKey(code) || ( 32 <= code && code < 2127);
313 }
314
315 private static final Map<String,Entity> names = new HashMap<String,Entity>();
316 private static final Map<Integer,Entity> codes = new HashMap<Integer,Entity>();
317 static {
318 for (Entity e: values()) {
319 String name = e.name();
320 int code = e.code;
321 if (name.startsWith("_")) name = name.substring(1);
322 names.put(name, e);
323 codes.put(code, e);
324 }
325 }
326 }

mercurial