Enum에 해당 값 존재 여부 체크 처리
String test1 = _item.substring(0, 2);
String test2 = _item.substring(2, 4);
String test3 = _item.substring(4, 6);
if (Arrays.stream(Enum_Code1.class.getEnumConstants()).map(e -> e.tocode()).filter(s -> s.equals(test1)).count() == 0) {
rtn.put("result", false);
msg.add(MessageResource.get(Message.001, "test1"));
}
if (Arrays.stream(Enum_Code2.class.getEnumConstants()).map(e -> e.tocode()).filter(s -> s.equals(test2)).count() == 0) {
rtn.put("result", false);
msg.add(MessageResource.get(Message.002, "test2"));
}
if (Arrays.stream(Enum_Code3.class.getEnumConstants()).map(e -> e.tocode()).filter(s -> s.equals(test3)).count() == 0) {
rtn.put("result", false);
msg.add(MessageResource.get(Message.003, "test3"));
}
_item 문자열에서 세 개의 하위 문자열(test1, test2, test3)을 추출한다. 각 하위 문자열은 _item 문자열에서 일정한 범위를 잘라내어 생성된다. 그리고 세 개의 하위 문자열(test1, test2, test3)을 각각 특정한 열거형(Enum) 클래스(Enum_Code1, Enum_Code2, Enum_Code3)의 값들과 비교한다.
만약 어느 하위 문자열도 해당 열거형 클래스의 값과 일치하지 않는다면, rtn 맵에 "result" 키를 추가하고 값을 false로 설정한다. 또한 msg 리스트에 해당하는 오류 메시지도 추가한다.