2015-01-13 2 views
0

В dslr можно передать список значений в состояние, или Drools ограничен одним значением?Drools dslr - Проводка списка

Я хотел бы написать что-то вроде:

[condition][]The customer firstName is in this list {nameList}=... 

вместо

[condition][]The customer firstName is {name1} or {name2} or {name3}=... 

ответ

2

ФЕД конструкция, которая подходит является ограничением соединени с использованием «в», написанной как, например,

Person(name in ("Joe", "Tom", "Fred")) 

В вашем случае определение DSLR должно быть

[condition][]The customer firstName is in this list {nameList}= 
    Customer(firstName in ({nameList})) 

Обратите внимание, что в DSL вам придется писать имена в кавычки:

The customer firstName is in this list "Joe","Tom","Fred" 
+0

отблагодарить вас Laune, это что я искал. Есть ли способ получить доступ к списку в правой части DSLR? Что-то вроде: '[condition] [] Эти 3 клиента {customerList} имеют по крайней мере этот возраст: {ageList} = {customerList} [0] .age == {ageList} [0], ...' – Francesco

+0

Это будет не приведет к действительному коду DRL, и я не уверен, что вы пытаетесь сделать здесь. Возможно, вы закрываете этот Q + A и начинаете новый с большим фоном? – laune

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