Enum으로 코드를 만들어서 관리하는 예제다.
public interface ICode {
public String getValue();
}
public class Codes {
public static boolean isValid(Class clazz, String value) {
if(ICode.class.isAssignableFrom(clazz) == false) {
return false;
}
if(value == null) {
return false;
}
T[] constants = clazz.getEnumConstants();
for(T t : constants) {
if(value.equals(((ICode) t).getValue())) {
return true;
}
}
return false;
}
public static enum ProcessStatus implements ICode {
RESERVED("R"),
ERROR("E"),
COMPLETED("C");
private final String value;
private ProcessStatus(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
public static enum HistoryMode implements ICode {
UPDATE("U"),
REMOVE("R");
private final String value;
private HistoryMode(String value) {
this.value = value;
}
public String getValue() {
return this.value;
}
}
}
댓글 없음:
댓글 쓰기