package org.akaza.openclinica.domain.rule.action;
import org.akaza.openclinica.domain.Status;
import org.akaza.openclinica.domain.enumsupport.CodedEnum;
import java.util.HashMap;
/*
* Use this enum as operator holder
* @author Krikor Krumlian
*
*/
public enum ActionType implements CodedEnum {
FILE_DISCREPANCY_NOTE(1, "DiscrepancyNoteAction"), EMAIL(2, "EmailAction"), SHOW(3, "ShowAction"), INSERT(4, "InsertAction"), HIDE(5, "HideAction"),EVENT(6,"EventAction"),NOTIFICATION(7,"NotificationAction"),RANDOMIZE(8,"RandomizeAction");
private int code;
private String description;
ActionType(int code) {
this(code, null);
}
ActionType(int code, String description) {
this.code = code;
this.description = description;
}
public static Status getByName(String name) {
return Status.valueOf(Status.class, name);
}
public static ActionType getByCode(Integer code) {
HashMap<Integer, ActionType> enumObjects = new HashMap<Integer, ActionType>();
for (ActionType theEnum : ActionType.values()) {
enumObjects.put(theEnum.getCode(), theEnum);
}
return enumObjects.get(Integer.valueOf(code));
}
public Integer getCode() {
return code;
}
public String getDescription() {
return description;
}
public static ActionType getByDescription(String description) {
for (ActionType theEnum : ActionType.values()) {
if(theEnum.getDescription().equals(description)) {
return theEnum;
}
}
return null;
}
}