在drools中写入list1.contains(list2)的条件

时间:2018-01-08 15:16:25

标签: drools drools-flow

我给了pojos像

Customer{ List<String> groups; }

Master{
   List<String> groups;
}

我想查看像

这样的条件
master1.groups.containsAny(customer1.groups);

以及

master1.groups.containsAll(customer1.groups);

我怎样才能为这两个人写下drools条件? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用以下Drools功能

function boolean containsAny(List<String> sourceList, List<String> targetList){
    sourceList.retainAll(targetList);
    return sourceList.size() != 0;
}
function boolean containsAll(List<String> sourceList, List<String> targetList){
    int size = sourceList.size();
    sourceList.retainAll(targetList);
    return sourceList.size() == size;
}