// default package // Generated Jul 31, 2013 2:03:33 PM by Hibernate Tools 3.4.0.CR1 package org.akaza.openclinica.domain.datamap; import java.util.HashMap; import java.util.Locale; import java.util.ResourceBundle; import org.akaza.openclinica.domain.enumsupport.CodedEnum; import org.akaza.openclinica.i18n.util.ResourceBundleProvider; /** * @author jnyayapathi * */ public enum SubjectEventStatus implements CodedEnum { INVALID(0, "invalid"), SCHEDULED(1, "scheduled"), NOT_SCHEDULED(2, "not_scheduled"), DATA_ENTRY_STARTED(3, "data_entry_started"), COMPLETED(4, "completed"), STOPPED(5, "stopped"), SKIPPED(6, "skipped"), LOCKED(7, "locked"), SIGNED(8, "signed"); SubjectEventStatus(){ } SubjectEventStatus(int code){ this(code,null); } SubjectEventStatus(int code,String description) { this.code = code; this.description = description; } private int code; private String description; public static SubjectEventStatus getByCode(Integer code) { HashMap<Integer, SubjectEventStatus> enumObjects = new HashMap<Integer, SubjectEventStatus>(); for (SubjectEventStatus theEnum : SubjectEventStatus.values()) { enumObjects.put(theEnum.getCode(), theEnum); } return enumObjects.get(Integer.valueOf(code)); } public static SubjectEventStatus getByI18nDescription(String i18nDescription, Locale locale) { for (SubjectEventStatus theEnum : SubjectEventStatus.values()) { if(i18nDescription.equals(theEnum.getI18nDescription(locale))) { return theEnum; } } return null; } public String getI18nDescription(Locale locale) { if (!"".equals(this.description)) { ResourceBundle resterm = ResourceBundleProvider.getTermsBundle(locale); String des = resterm.getString(this.description); if(des != null) { return des.trim(); } else { return ""; } } else { return this.description; } } @Override public String toString() { ResourceBundle resterm = ResourceBundleProvider.getTermsBundle(); return resterm.getString(getDescription()); } public static SubjectEventStatus getByName(String name) { return SubjectEventStatus.valueOf(SubjectEventStatus.class, name); } public String getName() { return this.name(); } public Integer getCode() { return code; } public String getDescription() { return description; } }