drools_10_function

在drl文件定义function

在drl规则文件中可定义函数, 这些函数可以在规则中被使用.
示例:

package com.sample.rules
 
import com.sample.Order;

function void printInfo(String name){
   System.out.println("name: "+name) ;
}
 
rule "test"
   when 
       $order:Order()
   then 
      printInfo($order.getName()) ;            
end   

引入java的静态方法

上述 function 其实也可以使用java 静态方法代替, 在使用之前需要先用 import funtion 引入到规则文件中.

import function somePackage.SomeHelper.someFunction;

java 静态方法示例:

package com.sample;
public class SomeHelper{
    public static void printInfo(String name){
        System.out.println("name: "+name) ;
    }
}

drl 示例:

package com.sample.rules
 
import com.sample.Order;
import function com.sample.SomeHelper.printInfo; 
 
rule "test"
   when 
       $order:Order()
   then 
      printInfo($order.getName()) ;            
end   

参考

Drools规则描述语言快速手册 http://holbrook.github.io/2012/12/06/rule_language.html

posted @   harrychinese  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-10-24 深入浅出Blazor webassembly 之API服务端保护
2018-10-24 使用ZooKeeper协调多台Web Server的定时任务处理(方案1)
2012-10-24 IronPython开发Windows Form程序总结
点击右上角即可分享
微信分享提示