Java 使用复杂比较驱动drools规则以从具有集合的对象中提取结果

Java 使用复杂比较驱动drools规则以从具有集合的对象中提取结果,java,arraylist,filter,drools,Java,Arraylist,Filter,Drools,我有如下java类 { private String name; private String employment; private ArrayList<Address> addresses; //getter and setters } public class Address{ String addressType; String addressChangeDate; //apologies, this is in String String st

我有如下java类

{
  private String name;
  private String employment;
  private ArrayList<Address> addresses;

//getter and setters
}

public  class Address{
  String addressType;
  String addressChangeDate; //apologies, this is in String
  String state;

 //getter and setters
}

请帮助创建.drl文件。 我不太会流口水

rule "rule 1"
when
    $customer : Customer(addresses!=null, employment == ("Self","business"))
    $addressesOutput : List() from collect ( Addresses(length > 0, (addressType!='Home' && state in ('Kansas','IOWA'))) from $customer.addresses )
then
    insert($addressesOutput)
end