如何以编程方式从实体对象获取业务规则?

时间:2013-11-13 14:07:58

标签: oracle-adf jdeveloper entityobject

在我的Fusion Web应用程序中,我在实体对象中定义了几个业务规则。一切正常。问题是我无法以编程方式获取它们。我已经搜索了EntityObjects Impl java类,但是没有方法可以执行验证。有没有人知道如何从实体对象获取业务规则?我需要至少获得一份清单。

更新

EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");

            for (Object o : eoDef.getValidators()) {
                System.out.println("Rule: " + o);
            }

但即使在这种情况下,我也没有获得业务规则列表。

3 个答案:

答案 0 :(得分:2)

尝试以下方法而不是实施

EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");
AttributeDefImpl myAttribute=getAttributeDefImpl("MyAttribute"); //Get the first Attribute

for (Object o : myAttribute.getValidators()) {
            System.out.println("Rule: " + o);
 }

你所做的那个只会得到实体级验证器,这个会得到你这个特定的属性验证器!

答案 1 :(得分:1)

看一下EntityDefImpl类。由于它适用于所有EO实例,因此会进行验证。enter link description here

答案 2 :(得分:1)

如果您只是想调用它,可以使用ViewObjectImpl中的验证功能(因为您想以编程方式从Web应用程序或应用程序模块调用它)

如果您想添加其他验证,则应遵循第一个答案。