View Javadoc
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 }