1 /*
2 * Themis: Java Project Framework
3 * Copyright 2012-2026. Tony Washer
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy
7 * of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17 package io.github.tonywasher.joceanus.themis.xanalysis.solver.reflect;
18
19 /**
20 * Well-known java.lang classes.
21 */
22 public enum ThemisXAnalysisReflectJavaLang {
23 /**
24 * Boolean.
25 */
26 BOOLEAN("Boolean"),
27
28 /**
29 * Byte.
30 */
31 BYTE("Byte"),
32
33 /**
34 * Character.
35 */
36 CHARACTER("Character"),
37
38 /**
39 * Class.
40 */
41 CLASS("Class"),
42
43 /**
44 * ClassLoader.
45 */
46 CLASSLOADER("ClassLoader"),
47
48 /**
49 * Double.
50 */
51 DOUBLE("Double"),
52
53 /**
54 * Enum.
55 */
56 ENUM("Enum"),
57
58 /**
59 * Float.
60 */
61 FLOAT("Float"),
62
63 /**
64 * Integer.
65 */
66 INTEGER("Integer"),
67
68 /**
69 * Long.
70 */
71 LONG("Long"),
72
73 /**
74 * Math.
75 */
76 MATH("Math"),
77
78 /**
79 * Number.
80 */
81 NUMBER("Number"),
82
83 /**
84 * Object.
85 */
86 OBJECT("Object"),
87
88 /**
89 * Package.
90 */
91 PACKAGE("Package"),
92
93 /**
94 * Process.
95 */
96 PROCESS("Process"),
97
98 /**
99 * ProcessBuilder.
100 */
101 PROCESSBUILDER("ProcessBuilder"),
102
103 /**
104 * Runtime.
105 */
106 RUNTIME("Object"),
107
108 /**
109 * SecurityManager.
110 */
111 SECURITYMANAGER("SecurityManager"),
112
113 /**
114 * Short.
115 */
116 SHORT("Short"),
117
118 /**
119 * StackTraceElement.
120 */
121 STACKTRACEELEMENT("StackTraceElement"),
122
123 /**
124 * String.
125 */
126 STRING("String"),
127
128 /**
129 * StringBuffer.
130 */
131 STRINGBUFFER("StringBuffer"),
132
133 /**
134 * StringBuilder.
135 */
136 STRINGBUILDER("StringBuilder"),
137
138 /**
139 * System.
140 */
141 SYSTEM("System"),
142
143 /**
144 * Thread.
145 */
146 THREAD("Thread"),
147
148 /**
149 * ThreadGroup.
150 */
151 THREADGROUP("ThreadGroup"),
152
153 /**
154 * ThreadLocal.
155 */
156 THREADLOCAL("ThreadLocal"),
157
158 /**
159 * Throwable.
160 */
161 THROWABLE("Throwable"),
162
163 /**
164 * Void.
165 */
166 VOID("Void"),
167
168 /**
169 * Appendable.
170 */
171 APPENDABLE("Appendable"),
172
173 /**
174 * AutoCloseable.
175 */
176 AUTOCLOSEABLE("AutoCloseable"),
177
178 /**
179 * CharSequence.
180 */
181 CHARSEQ("CharSequence"),
182
183 /**
184 * Cloneable.
185 */
186 CLONEABLE("Cloneable"),
187
188 /**
189 * Comparable.
190 */
191 COMPARABLE("Comparable"),
192
193 /**
194 * Iterable.
195 */
196 ITERABLE("Iterable"),
197
198 /**
199 * Readable.
200 */
201 READABLE("Readable"),
202
203 /**
204 * Runnable.
205 */
206 RUNNABLE("Runnable"),
207
208 /**
209 * Exception.
210 */
211 EXCEPT("Exception"),
212
213 /**
214 * ArithmeticException.
215 */
216 ARITHMETICEXC("ArithmeticException"),
217
218 /**
219 * IllegalArgumentException.
220 */
221 ILLEGALARGEXC("IllegalArgumentException"),
222
223 /**
224 * IllegalStateException.
225 */
226 ILLEGALSTATEEXC("IllegalStateException"),
227
228 /**
229 * InterruptedException.
230 */
231 INTERRUPTEDEXC("InterruptedException"),
232
233 /**
234 * NumberFormatException.
235 */
236 NUMBERFORMATEXC("NumberFormatException"),
237
238 /**
239 * RunTimeException.
240 */
241 RUNTIMEXC("RuntimeException"),
242
243 /**
244 * UnsupportedOperationException.
245 */
246 UNSUPPORTEDEXC("UnsupportedOperationException"),
247
248 /**
249 * Deprecated.
250 */
251 DEPRECATED("Deprecated"),
252
253 /**
254 * FunctionalInterface.
255 */
256 FUNCTIONALINTERFACE("FunctionalInterface"),
257
258 /**
259 * Override.
260 */
261 OVERRIDE("Override"),
262
263 /**
264 * SuppressWarnings.
265 */
266 SUPPRESSWARNINGS("SuppressWarnings");
267
268 /**
269 * The class name.
270 */
271 private final String theName;
272
273 /**
274 * Constructor.
275 *
276 * @param pName the className
277 */
278 ThemisXAnalysisReflectJavaLang(final String pName) {
279 theName = pName;
280 }
281
282 /**
283 * Obtain the className.
284 *
285 * @return the name
286 */
287 String getName() {
288 return theName;
289 }
290
291 @Override
292 public String toString() {
293 return getName();
294 }
295 }