2017-09-05 9 views
0

私はオブジェクトPersonのリストを持っています。オブジェクトはカーのオブジェクトのリストを含んでいます。どのように私はリストから選択することができます。 exmplainの場合:ブランドBMWの車。私はforループなしでそれをしないか分からない。Droolsのリストの検索要素

person[0].addCar(new Car("BMW")); 
person[0].addCar(new Car("Ford")); 

person[1].addCar(new Car("Ford")); 
person[1].addCar(new Car("Ford")); 
person[1].addCar(new Car("Ford")); 

どのようにして私は[droop-regulation]で[0]人を返すことができますか?

私のコードは機能しません。

rule "HardDrool" 
salience 100 
when 
    $world : World(); 

    $persons: Human(
     (name == "Yura"), 
     (!cars.isEmpty()), 
     (Car(name == "BMW") from getCars()) 
     ) from $world.getPersons() 
then 
    System.out.println($persons); 

end 

答えて

0
rule "HardDrool" 
when 
    $world : World(); 
    $person: Human(name == "Yura", !cars.isEmpty()) 
    from $world.getPersons() 
    exists Car(name == "BMW") from $person.getCars()) 
then 
    System.out.println($person); 
end 

これは、それぞれの人間の所有少なくとも一つのBMWのために一度発動すべきです。各BMWを見たい場合は、存在を省略します。

+0

ありがとうございます。それは仕事です。 –

関連する問題