package org.akaza.openclinica.domain.technicaladmin;
import org.akaza.openclinica.domain.enumsupport.CodedEnum;
import org.akaza.openclinica.i18n.util.ResourceBundleProvider;
import java.util.HashMap;
import java.util.ResourceBundle;
/*
* Use this enum as login status holder
* @author Krikor Krumlian
*
*/
public enum LoginStatus implements CodedEnum {
SUCCESSFUL_LOGIN(1, "successful_login"), FAILED_LOGIN(2, "failed_login"), FAILED_LOGIN_LOCKED(3, "failed_login_locked"), SUCCESSFUL_LOGOUT(4,
"successful_logout"),ACCESS_CODE_VIEWED(5,"access_code_viewed");
private int code;
private String description;
LoginStatus(int code) {
this(code, null);
}
LoginStatus(int code, String description) {
this.code = code;
this.description = description;
}
@Override
public String toString() {
ResourceBundle resterm = ResourceBundleProvider.getTermsBundle();
return resterm.getString(getDescription());
}
public static LoginStatus getByName(String name) {
return LoginStatus.valueOf(LoginStatus.class, name);
}
public static LoginStatus getByCode(Integer code) {
HashMap<Integer, LoginStatus> enumObjects = new HashMap<Integer, LoginStatus>();
for (LoginStatus theEnum : LoginStatus.values()) {
enumObjects.put(theEnum.getCode(), theEnum);
}
return enumObjects.get(Integer.valueOf(code));
}
public Integer getCode() {
return code;
}
public String getDescription() {
return description;
}
}