package foundation.version;
|
|
import foundation.util.Util;
|
|
public enum VersionState {
|
Preparing("待生效", 0),
|
Active("生效", 1),
|
History("历史", 2),
|
|
Unknow("未知", 9);
|
|
private String name;
|
private int indexNo;
|
|
private VersionState(String name, int indexNo) {
|
this.name = name;
|
this.indexNo = indexNo;
|
}
|
|
public String getName() {
|
return name;
|
}
|
|
public int getIndexNo() {
|
return indexNo;
|
}
|
|
public static VersionState parse(String code) {
|
if (Util.isEmpty(code)) {
|
return Unknow;
|
}
|
|
for (VersionState versionState : VersionState.values()) {
|
String state = versionState.name().toLowerCase();
|
|
if (state.equalsIgnoreCase(code)) {
|
return versionState;
|
}
|
}
|
return Unknow;
|
}
|
|
public VersionState getVersionStateByIndexNo(int indexNo) {
|
if (Util.isEmpty(indexNo)) {
|
return Unknow;
|
}
|
|
for (VersionState versionState : VersionState.values()) {
|
if (versionState.getIndexNo() == indexNo) {
|
return versionState;
|
}
|
}
|
return Unknow;
|
}
|
|
public VersionState getNextState() {
|
int stateCount = VersionState.values().length;
|
int nextIndex = (indexNo + 1)%stateCount;
|
|
return getVersionStateByIndexNo(nextIndex);
|
}
|
}
|