2010년 7월 6일 화요일

Enum으로 코드 정의하기.

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;
}
}
}

댓글 없음:

댓글 쓰기