Мне нужен совет относительно наилучшего подхода к решению этой проблемы.
Я исследовал DROOLS, Java Rule Engine и некоторые другие. Все они мощные и имеют хорошие вещи о них. Я не знаю, какой из них (если есть) будет лучшим выбором для меня.
У меня есть один бизнес-объект. (упрощен для демонстрации)
Person
firstName:String
lastName:String
departMent:String
hireDate:Date
Мне нужно написать редактор в веб-приложении, который позволит создавать сложные правила вокруг этих полей. Мне нужно поддерживать сложную вложенную логику AND/OR. Мне просто нужны базовые операторы, и правило должно просто оценивать true или false. Если правило оценивается как true или false, произойдет одно действие.
Например,
firstName СОДЕРЖИТ "значение" AND (lastName EQUALS "вход" OR department СОДЕРЖИТ "вход" )
Я подумал, может быть, я должен просто написать свой собственный парсер и оценить логику в своем собственном коде. Я не знаю, что делать, любые советы или ссылки на что-то для чтения были бы весьма признательны. Существует ли конкретная модель проектирования, которую я мог бы исследовать?
Как бы вы решили эту проблему? Оговорки о механизмах правил в том, что, возможно, они слишком сложны для простой проблемы?