2013-02-21 4 views
0

Недавно я опирающийся Drools, я думаю, что это основная идея великого software.Drools является DRL file.We должен написать файл правил, например:Как использовать Drools, чтобы соответствовать сложному условию

rule "name" 
    when 
    then 
end 

И когда раздел зависит от свойства объекта. Например: теперь у меня есть класс User, который готов к использованию в моем правиле.

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

Теперь мне нужно знать, деньги пользователя между 2012-09-11 и 2013-01-01, а если его деньги> 100, то делать свою логику, Как Drools?

ответ

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, которая вернет true, если пользовательские деньги в период между 2012-09-11 и 2013-01-01 превышают 100. Вы можете вызвать эту функцию, когда часть вашего правила использует eval и напишите свою логику в то время. Функции записи не являются хорошей идеей в файлах DRL, хотя!

Смежные вопросы