简单的规则引擎用AND条件替换if语句

时间:2016-09-20 10:44:22

标签: java rule-engine

我有一些简单的条件:

if(source.equals("something") && target.equals("something")){
        // suggested tool (high priority)
        // suggested another tool (low priority)
    }

else if (...){
        // suggested some other tool
    }
.....

大约有50个条件。它可以在以后成长。

  • 只有&&条件

  • 优先级可以是介于1到5之间的数字。

我可以提供csv输入文件,如:

source,target,tool,priority
abc,xyz,xxx,5
abc,xyz,yyy,3
...

我可以想到的可能方式:

  • 阅读此csv文件
  • 将其转换为对象并将其保留在嵌入式数据库中
  • 查询数据库并获取优先级最高的工具

这不是最佳方式,因为条件数很少(约50 )。

是否有可以执行此操作的简单规则引擎?

1 个答案:

答案 0 :(得分:0)

每个规则引擎都可以这样做:) 尝试Java的引擎,如Jess,Drools或更多轻量级解决方案,如HeaRTDroid或EasyRules。