JudgeInfoMessageEnum.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.example.onlinejudge.model.enums;
  2. import org.apache.commons.lang3.ObjectUtils;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.stream.Collectors;
  6. /**
  7. * 判题信息枚举
  8. */
  9. public enum JudgeInfoMessageEnum {
  10. ACCEPTED("成功", "Accepted"),
  11. WRONG_ANSWER("答案错误", "Wrong Answer"),
  12. COMPILE_ERROR("Compile Error", "编译错误"),
  13. MEMORY_LIMIT_EXCEEDED("", "内存溢出"),
  14. TIME_LIMIT_EXCEEDED("Time Limit Exceeded", "超时"),
  15. PRESENTATION_ERROR("Presentation Error", "展示错误"),
  16. WAITING("Waiting", "等待中"),
  17. OUTPUT_LIMIT_EXCEEDED("Output Limit Exceeded", "输出溢出"),
  18. DANGEROUS_OPERATION("Dangerous Operation", "危险操作"),
  19. RUNTIME_ERROR("Runtime Error", "运行错误"),
  20. SYSTEM_ERROR("System Error", "系统错误");
  21. private final String text;
  22. private final String value;
  23. JudgeInfoMessageEnum(String text, String value) {
  24. this.text = text;
  25. this.value = value;
  26. }
  27. /**
  28. * 获取值列表
  29. *
  30. * @return
  31. */
  32. public static List<String> getValues() {
  33. return Arrays.stream(values()).map(item -> item.value).collect(Collectors.toList());
  34. }
  35. /**
  36. * 根据 value 获取枚举
  37. *
  38. * @param value
  39. * @return
  40. */
  41. public static JudgeInfoMessageEnum getEnumByValue(String value) {
  42. if (ObjectUtils.isEmpty(value)) {
  43. return null;
  44. }
  45. for (JudgeInfoMessageEnum anEnum : JudgeInfoMessageEnum.values()) {
  46. if (anEnum.value.equals(value)) {
  47. return anEnum;
  48. }
  49. }
  50. return null;
  51. }
  52. public String getValue() {
  53. return value;
  54. }
  55. public String getText() {
  56. return text;
  57. }
  58. }