public enum LanguageEnum {//此處引用語言類型枚舉
????C("C"), CPP("C++"), JAVA("JAVA"), CS("C#"), JAVASCRIPT("JAVASCRIPT"), PYTHON("PYTHON"),HTML("HTML"),CSS("CSS");
????private String value;
????private static String[] svalues;
????private LanguageEnum(String value) {
????????this.value = value;? ? }
????public String toString() {? //toString 方法衡载,將枚舉轉(zhuǎn)化為字符串
????????return value;? ? }
????public static LanguageEnum of(String language) {? // of 方法痴怨,將字符串轉(zhuǎn)換為枚舉
????????for (LanguageEnum lan : LanguageEnum.values()) {
????????????if (lan.toString().equals(language) || lan.name().equals(language)) {
????????????????return lan;? ? ? ? ? ? }? ? ?}
????????return null;? ? }
????public static String[] getValues() { //getValues 方法恳谎,獲取所有枚舉
????????if (svalues == null) {
????????????LanguageEnum[] values = LanguageEnum.values();
????????????svalues = new String[values.length];
????????????for (int x = 0; x < values.length; x++) {
????????????????svalues[x] = values[x].toString();? ? ? ? ? ? } }
????????return svalues;? ? ?}
public enum ToolEnum {? //此處引用工具類型枚舉a
????ike琼讽, klocwork,sonarqube;
????private static Map<String, Boolean> containsCache = new HashMap<>();
????private static String[] shortnames = { "iKE", "KW" ,"SQ"};? //聲明縮寫
????private static String[] cns = { "iKE", "Klocwork" ,"SonarQube"};//聲明大寫
????public static ToolEnum of(String name) {? //of 方法允蜈,字符串轉(zhuǎn)化為枚舉
????????for (ToolEnum tool : ToolEnum.values()) {
???????????if (tool.name().equalsIgnoreCase(name)) {
????????????????return tool;}}
????????????return null;}
????public String shortname () {? //聲明 shortname 返回?shortname
????????return shortnames[this.ordinal()];? ? ? ? }
????public String getCN () {? //聲明 getCN() 返回 cns
????????return cns[this.ordinal()];}
????public static String[] sortnames() {? //聲明?sortnames 返回?shortnames 字符串數(shù)組
????????return shortnames;}
????public static boolean isInclude(String key) {? //判斷 key 是否為枚舉類型
????????boolean include = false;
????????for(ToolEnum e : ToolEnum.values()) {
????????????if(e.name().equals(key)) {
????????????????include = true;
????????????????break;? ? } }
????????return include;
????}
????public static boolean isIncludeCN(String key) {? //判斷?key 是否為 枚舉類型的 cns?
????????boolean include = false;
????????for(ToolEnum e : ToolEnum.values()) {
????????????if(e.getCN().equals(key)) {
????????????????include = true;
????????????????break;}}
????????return include;
????}