package sandbox.validator;
import java.util.HashMap;
import java.util.Map;
public class ConditionFactory {
private Map<String, Class<? extends Condition>> map;
public ConditionFactory() {
map = new HashMap<String, Class<? extends Condition>>();
register(new EqualsCondition(""));
register(new NotEqualsCondition(""));
}
public void register(Condition cond) {
map.put(cond.getSyntax(), cond.getClass());
}
public Condition create(String cond, Object value) {
Condition condition = null;
try {
condition = map.get(cond).getConstructor(Object.class).newInstance(
value);
} catch (Exception e) {
throw new IllegalArgumentException();
}
return condition;
}
}