规则引擎QLExpress的简单应用

QLExpress 是一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用。让业务规则定义简便而不失灵活。让业务人员就可以定义业务规则。支持标 准的JAVA语法,还可以支持自定义操作符号、操作符号重载、 函数定义、宏定义、数据延迟加载等。

QLExpress可以执行标准的java语法,例如 '哈哈'.equals('哈哈')、if(true) {1} else{2}等,可以动态获取运算结果。

QLExpress 3.0.6下载地址:http://code.taobao.org/p/QLExpress/file/2949/qlexpress-3.0.6.zip

wiki地址:http://code.taobao.org/p/QLExpress/wiki/index/

demo代码如下:

package com.test;
import com.ql.util.express.ExpressRunner;

public class Test {
    /**
     * 
     * @return void
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String express1 = " 1 in (2) ";
        String express2 = " if(false){ 1} else{2} ";
        String express3 = " round(4.34,1) ";
        String express4 = " '哈哈'.equals('哈哈') ";
        ExpressRunner runner = new ExpressRunner();

        System.out.println("表达式计算:" + express1 + " 处理结果: " + runner.execute(express1, null, null, false, false) );
        System.out.println("表达式计算:" + express2 + " 处理结果: " + runner.execute(express2, null, null, false, false) );
        System.out.println("表达式计算:" + express3 + " 处理结果: " + runner.execute(express3, null, null, false, false) );
        System.out.println("表达式计算:" + express4 + " 处理结果: " + runner.execute(express4, null, null, false, false) );

    }
}

代码运行截图:

 

限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。

资料传送门:https://mp.weixin.qq.com/s/u2b_NVNuMuAPE0w4lc45fw

 

关注下方公众号即可免费领取:

Java碎碎念公众号

posted @ 2015-08-06 17:57  Java碎碎念  阅读(6070)  评论(0编辑  收藏