org.bidib.wizard.model.status.FlagStatus Maven / Gradle / Ivy
package org.bidib.wizard.model.status;
import org.bidib.jbidibc.messages.enums.FlagEnum;
public enum FlagStatus implements BidibStatus {
// @formatter:off
CLEAR(FlagEnum.CLEAR, "clear"), QUERY_1(FlagEnum.QUERY1, "query1"), QUERY_0(FlagEnum.QUERY0, "query0"), SET(
FlagEnum.SET, "set");
// @formatter:on
private final FlagEnum type;
private final String key;
FlagStatus(FlagEnum type, String key) {
this.type = type;
this.key = key;
}
@Override
public FlagEnum getType() {
return type;
}
@Override
public String getKey() {
return key;
}
public static FlagStatus valueOf(FlagEnum type) {
FlagStatus result = null;
for (FlagStatus e : values()) {
if (e.type == type) {
result = e;
break;
}
}
if (result == null) {
throw new IllegalArgumentException("cannot map " + type + " to a flag status");
}
return result;
}
@Override
public FlagStatus[] getValues() {
return new FlagStatus[] { CLEAR, QUERY_1, QUERY_0, SET };
}
}