All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bpodgursky.jbool_expressions.eval.EvalEngine Maven / Gradle / Ivy

There is a newer version: 8.1.2
Show newest version
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