
com.bpodgursky.jbool_expressions.eval.EvalEngine Maven / Gradle / Ivy
package com.bpodgursky.jbool_expressions.eval;
import com.bpodgursky.jbool_expressions.*;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
public class EvalEngine {
public static Map> booleanRules(){
Map> rules = Maps.newHashMap();
rules.put(And.EXPR_TYPE, new EvalAnd());
rules.put(Or.EXPR_TYPE, new EvalOr());
rules.put(Not.EXPR_TYPE, new EvalNot());
rules.put(Literal.EXPR_TYPE, new EvalLiteral());
return rules;
}
public static boolean evaluateBoolean(Expression expr, Map values){
Map> rules = booleanRules();
rules.put(Variable.EXPR_TYPE, new EvalVariable(values));
return evaluate(expr, rules);
}
public static boolean evaluate(Expression expr, Map> rules){
return EvalRule.evaluateInternal(expr, rules);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy