package com.mindskip.xzs.domain.enums; import java.util.HashMap; import java.util.List; import java.util.Map; public enum QuestionTypeEnum { SingleChoice(1, "单选题"), MultipleChoice(2, "多选题"), TrueFalse(3, "判断题"), GapFilling(4, "填空题"), ShortAnswer(5, "简答题"); public final Integer code; public final String name; QuestionTypeEnum(int code, String name) { this.code = code; this.name = name; } private static final Map keyMap = new HashMap<>(); static { for (QuestionTypeEnum item : QuestionTypeEnum.values()) { keyMap.put(item.getCode(), item); } } public static Integer get(String text){ if("".equals(text) || text == null){ return null; } QuestionTypeEnum[] enums = QuestionTypeEnum.values(); for (QuestionTypeEnum anEnum : enums) { if(anEnum.getName().equals(text)){ return anEnum.getCode(); } } return null; } public static QuestionTypeEnum fromCode(Integer code) { return keyMap.get(code); } public static boolean needSaveTextContent(Integer code) { QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(code); switch (questionTypeEnum) { case GapFilling: case ShortAnswer: return true; default: return false; } } public int getCode() { return code; } public String getName() { return name; } }