2016-11-11 7 views
0

Здесь у меня есть некоторые кодыDrools обращающихся ArrayList

class Person{ 
    private String firstName; 
    private ArrayList<String> hobbies; 

    /* setter-getter */ 
} 

Я хочу, чтобы получить доступ ко всему хобби конкретного человека в Drools. экс- (это не Dows работать)

$p: Person(firstName=="Harish") 
$hobbies: ArrayList() from p.hobbies 

Что бы правильный синтаксис для этого?

ответ

0

Как вы заявили ArrayList<String> hobbies, в значительной степени уверены, что у вас нет ArrayList в качестве элемента hobbies.

Для доступа к полю, которое является список, просто связать переменную:

rule h1 
when 
    $p: Person(firstName=="Harish", $hobbies: hobbies) 
then 
    System.out.println("Harish has " + $hobbies.size() + " hobbies."); 
end 

Чтобы получить доступ к каждому из увлечений, выпустив один раз для каждого:

rule h2 
when 
    $p: Person(firstName=="Harish") 
    $h: String() from $p.hobbies 
then 
    System.out.println("Harish has " + $h + " as a hobby."); 
end 

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

  • Нет связанных вопросов^_^