package proto.bdaccess; /** * an enumeration to modelised Business service level. * @author Florent * */ public enum BusinessServiceLevel { //gold service level for the best level of service according to the sla GOLD { @Override public boolean isWorse(BusinessServiceLevel sl) { return false; } }, //silver service level is medium service level SILVER { @Override public boolean isWorse(BusinessServiceLevel sl) { return sl.equals(GOLD); } } , //bronze service level for the least we could expect from our provider BRONZE { @Override public boolean isWorse(BusinessServiceLevel sl) { return sl.equals(SILVER)||sl.equals(GOLD); } } , // violation of the sla. VIOLATION { @Override public boolean isWorse(BusinessServiceLevel sl) { return true; } } ; /** * compare two service level * tell if the given service level is worse * @param sl * @return */ abstract public boolean isWorse(BusinessServiceLevel sl); }