Может ли MVEL выполнить выражение с частично известными атрибутами и вернуть неизвестные части? - PullRequest
0 голосов
/ 23 октября 2019

У меня есть вариант использования, чтобы частично выполнить выражение MVEL и вернуть остальные неизвестные части. Например, у меня есть следующее выражение

if(person.firstName == 'John' && person.buyingPreference == 'Cash') {result = new Result(..)}

Имя первого лица известно, но параметр BuyPreference неизвестен. Предполагая, что есть имя человека по имени Джон, которое известно, я хочу, чтобы MVEL сообщил мне, что результат будет возвращен, когда buyPreference == 'Cash'. Не обязательно, чтобы MVEL возвращал мне результат вместе с неизвестным выражением. Но мне нужен способ узнать, какое условие сделает все выражение истинным и вернуть результат.

Я также думаю о другом направлении, которое разделяет выражение с известной и неизвестной частью, тогда мне нужно только выполнитьизвестная часть внутри MVEL. Но так как выражение написано в String, я не вижу хорошего способа разбить правило без UI или разбора String.

...