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.lethe.analysis;
18
19 import io.github.tonywasher.joceanus.themis.lethe.analysis.ThemisAnalysisDataMap.ThemisAnalysisDataType;
20
21 /**
22 * Well-known java.lang classes.
23 */
24 public enum ThemisAnalysisJavaLang
25 implements ThemisAnalysisDataType {
26 /**
27 * Object.
28 */
29 OBJECT("Object"),
30
31 /**
32 * Enum.
33 */
34 ENUM("Enum"),
35
36 /**
37 * String.
38 */
39 STRING("String"),
40
41 /**
42 * CharSequence.
43 */
44 CHARSEQ("CharSequence"),
45
46 /**
47 * StringBuilder.
48 */
49 STRINGBLDR("StringBuilder"),
50
51 /**
52 * StringBuffer.
53 */
54 STRINGBUFFER("StringBuffer"),
55
56 /**
57 * Comparable.
58 */
59 COMPARABLE("Comparable"),
60
61 /**
62 * Throwable.
63 */
64 THROWABLE("Throwable"),
65
66 /**
67 * Number.
68 */
69 NUMBER("Number"),
70
71 /**
72 * Thread.
73 */
74 THREAD("Thread"),
75
76 /**
77 * Runnable.
78 */
79 RUNNABLE("Runnable"),
80
81 /**
82 * Class.
83 */
84 CLASS("Class"),
85
86 /**
87 * Iterable.
88 */
89 ITERABLE("Iterable"),
90
91 /**
92 * Exception.
93 */
94 EXCEPT("Exception"),
95
96 /**
97 * RunTimeException.
98 */
99 RUNTIMEXCEPT("RuntimeException"),
100
101 /**
102 * StackTraceELement.
103 */
104 STACKTRACE("StackTraceElement"),
105
106 /**
107 * Override.
108 */
109 OVERRIDE("Override"),
110
111 /**
112 * SuppressWarnings.
113 */
114 SUPPRESSWARNINGS("SuppressWarnings"),
115
116 /**
117 * Deprecated.
118 */
119 DEPRECATED("Deprecated"),
120
121 /**
122 * FunctionalInterface.
123 */
124 FUNCTIONALINTERFACE("FunctionalInterface"),
125
126 /**
127 * AutoCloseable.
128 */
129 AUTOCLOSEABLE("AutoCloseable"),
130
131 /**
132 * IllegalArgumentException.
133 */
134 ILLEGALARGEXC("IllegalArgumentException"),
135
136 /**
137 * IllegalStateException.
138 */
139 ILLEGALSTATEECEPTION("IllegalStateException");
140
141 /**
142 * The class name.
143 */
144 private final String theName;
145
146 /**
147 * Constructor.
148 *
149 * @param pName the className
150 */
151 ThemisAnalysisJavaLang(final String pName) {
152 theName = pName;
153 }
154
155 /**
156 * Obtain the className.
157 *
158 * @return the name
159 */
160 String getName() {
161 return theName;
162 }
163
164 @Override
165 public String toString() {
166 return getName();
167 }
168 }