Как получить бизнес-правила от Entity Object программно?
В моем веб-приложении Fusion я определил несколько бизнес-правил в объектах сущностей. Все отлично работает Проблема в том, что я не могу получить их программно. Я искал в Java-классе EntityObjects Impl, но нет метода, который должен выполнять проверку. Кто-нибудь знает, как получить бизнес-правила от объекта сущности? Мне нужно получить хотя бы список из них.
Обновить:
EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");
for (Object o : eoDef.getValidators()) {
System.out.println("Rule: " + o);
}
Но даже в этом случае я не получаю список бизнес-правил.
3 ответа
Попробуйте следующее вместо вашей реализации
EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");
AttributeDefImpl myAttribute=getAttributeDefImpl("MyAttribute"); //Get the first Attribute
for (Object o : myAttribute.getValidators()) {
System.out.println("Rule: " + o);
}
Тот, который вы сделали, получит только валидаторы уровня сущности, а этот - вам конкретные валидаторы атрибутов!
Если вы просто хотите вызвать его, вы можете использовать функцию Validate из ViewObjectImpl (поскольку вы хотите вызывать ее из веб-приложения программно или из вашего прикладного модуля)
Если вы хотите добавить еще одну проверку, вы должны следовать первому ответу.
Посмотрите на класс EntityDefImpl. Поскольку он применяется ко всем экземплярам EO, он проходит валидацию. введите описание ссылки здесь