package net.techreadiness.service.common;
import java.util.Map;
import com.google.common.collect.Maps;
public enum Operator {
EQUAL("equals", "==", Boolean.FALSE), NOT_EQUAL("not equal", "!=", Boolean.FALSE), GREATER_THAN("greater than", ">",
Boolean.FALSE), GREATER_THAN_OR_EQUAL("greater than or equal", ">=", Boolean.FALSE), LESS_THAN("less than", "<",
Boolean.FALSE), LESS_THAN_OR_EQUAL("less than or equal", "<=", Boolean.FALSE), MATCHES("matches regex",
"matches", Boolean.FALSE), ENDS_WITH("ends with", "endsWith", Boolean.TRUE), STARTS_WITH("starts with",
"startsWith", Boolean.TRUE);
private static final Map<String, Operator> conversionMap = Maps.newHashMap();
private String description;
private String operator;
private Boolean custom;
private Operator(String description, String operator, Boolean custom) {
this.description = description;
this.operator = operator;
this.custom = custom;
}
public String getDescription() {
return description;
}
public String getOperator() {
return operator;
}
public Boolean isCustom() {
return custom;
}
public static Operator getOperator(String operator) {
if (conversionMap.isEmpty()) {
for (Operator op : Operator.values()) {
conversionMap.put(op.getOperator(), op);
}
}
return conversionMap.get(operator);
}
}