2013-02-21 56 views
0

最近,我卻靠在Drools的,我認爲這是一個偉大的software.Drools的核心思想是DRL file.We應該寫的規則文件,例如:如何使用Drools的,以適應複雜的條件

rule "name" 
    when 
    then 
end 

而when部分取決於實體的屬性。例如:現在我有一個用戶類,準備在我的規則中使用。

public class User { 
     private int money; 
     private Date time; 
      //getter and setter..... 
     } 

現在我需要知道用戶的2012年9月11日和2013-01-01之間的金錢,如果他的錢> 100然後做我的邏輯,怎麼滴料嗎?

回答

2

這可以很容易地使用下面的規則已經實現:

rule 'Some Rule' 
    $u: User(time > '11-sep-2009', time < '01-jan-2013', money > 100) 
then 
    //do your logic here. $u references the User object 
end 

希望它能幫助,

0

您可以在DRL文件中編寫函數,如果2012-09-11和2013-01-01之間的用戶金額大於100,則返回true。您可以在使用eval的部分規則和然後編寫你的邏輯部分。儘管在DRL文件中編寫函數並不是好主意!