drools对象增删改查
阅读数:66 评论数:0
跳转到新版页面分类
python/Java
正文
insert
package com.sample
import com.sample.Person;
import com.sample.Pet;
import java.util.ArrayList;
import java.text.SimpleDateFormat;
import java.util.Date;
rule "find"
when
$person:Person(name == "godme")
then
Person person = new Person();
person.setName("son");
insert(person);
end
删除
package com.sample
import com.sample.Person;
import com.sample.Pet;
import java.util.ArrayList;
import java.text.SimpleDateFormat;
import java.util.Date;
rule "find"
when
$person:Person(name == "godme")
then
// 从容器中移除指定对象
retract($person);
end
修改
package com.sample
import com.sample.Person;
import com.sample.Pet;
import java.util.ArrayList;
import java.text.SimpleDateFormat;
import java.util.Date;
rule "find"
when
$person:Person(name == "godme")
then
$person.setName("fucker");
// update是直接更新对象,可以看做是移除之后再插入
// 具体的操作是在外部,和modify区分
update($person);
end
package com.sample
import com.sample.Person;
import com.sample.Pet;
import java.util.ArrayList;
import java.text.SimpleDateFormat;
import java.util.Date;
rule "find"
when
$person:Person(name == "godme")
then
modify($person){
setName("fucker"),
setAge(99)
}
// modify两点
// 1. 方法
// modify中可以省略对象调用部分,直接调用方法
// $person.setName() ==> setName()
// 内部带对象会报错
// 2. 分隔符号
// 多个方法之间,使用逗号分隔
// 可以写分号,但是只能作为结尾符,不能作为分隔符
// 不可以没有分隔符
// 以上错误,都会报错
end