【问题标题】:How to get Business Rules from Entity Object programatically?如何以编程方式从实体对象获取业务规则?
【发布时间】:2013-11-26 04:15:50
【问题描述】:

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

更新:

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

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

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

【问题讨论】:

    标签: oracle-adf jdeveloper entityobject


    【解决方案1】:

    尝试以下方法而不是您的实现

    EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");
    AttributeDefImpl myAttribute=getAttributeDefImpl("MyAttribute"); //Get the first Attribute
    
    for (Object o : myAttribute.getValidators()) {
                System.out.println("Rule: " + o);
     }
    

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

    【讨论】:

    • 非常感谢,这正是我需要的,非常感谢!
    【解决方案2】:

    看看 EntityDefImpl 类。由于它适用于所有 EO 实例,因此它带有验证。enter link description here

    【讨论】:

    • 感谢您的回答,我尝试了一些方法,但是我无法获得包含视图对象中定义的业务规则的列表。我用一些新的代码行更新了我的问题。
    【解决方案3】:

    如果你只是想调用它,你可以使用ViewObjectImpl中的Validate函数(因为你想以编程方式从Web应用程序或你的应用程序模块中调用它)

    如果你想添加另一个验证,那么你应该按照第一个答案。

    【讨论】:

    • 感谢您的回答,ViewObjectImpl.validate() 什么都不返回。我需要检索验证列表(业务规则)。
    猜你喜欢
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多