開發執行環境:jdeveloper 11.1.2.4
1. 設定eo或vo的attribute值
(1)在employees eo上增加乙個attribute:annualsalary,expression: (salary != null ? salary : 0 ) * 12。
(2)如果需要引用entityimpl類中的自定義方法,需要加字首:adf.object。
比如:adf.object.getdefaultsalaryforgrade()。
這裡,adf.object指向的是當前entityimpl。
2. 定義在eo的attribute上的驗證規則
(1)在employees eo的salary attribute增加乙個驗證規則:
if (jobid == "sa_rep") else
return true
在驗證規則中reference乙個attribute時,attribute-level的驗證規則首先被觸發,驗證該attribute的newvalue值。newvalue是使用者輸入後改變的值,oldvalue是改變之前的值。
(2)在employees eo的salary attribute增加另乙個驗證規則,其中呼叫了entityimpl類中的自定義方法:getmaxsalaryforgrade。
if (jobid == "sa_man") else
return true
注意,reference方法前要加字首「source」。
3. 訪問entityimpl類的自有方法
(1)override create方法
/*** add attribute defaulting logic in this method.
* @param attributelist list of attribute names/values to initialize the row */
protected void create(attributelist attributelist)
這樣修改後,employeeid的值將從sequence中獲取。
(2)如果你不想override create方法,也可以直接使用groovy表示式來獲取sequence的下乙個值。
設定employeeid的expression:(new oracle.jbo.server.sequenceimpl("employees_seq",adf.object.getdbtransaction())).getsequencenumber()
注意,這裡必須寫全類sequenceimpl的路徑名。
(3)如果你覺得(2)的方式有些不直觀,可以在entityimpl中定義乙個help方法。
public oracle.jbo.domain.number nextval(string sequencename)
然後,設定employeeid的expression:adf.object.nextval("employees_seq")。
4. 訪問hints屬性
(1)如果想訪問lastname的label屬性,可以這樣寫:adf.object.hints.lastname.label。
(2)如果在error message中想訪問lastname的label屬性,可以這樣寫:source.hints.lastname.label。
adf_groovy.7z
Groovy在ADF BC中的常見用法之一
開發執行環境 jdeveloper 11.1.2.4 1.設定eo或vo的attribute值 1 在employees eo上增加乙個attribute annualsalary,expression salary null salary 0 12。2 如果需要引用entityimpl類中的自定義...
Groovy解惑 closure中的owner
groovy解惑 closure中的owner 在上篇 groovy解惑 closure中的delegate 中,我幫大家講解了delegate是什麼以及其作用。本篇將講解一下closure中的owner,以及this,delegate以及owner三者間的關係。先讓我們來看個例子 class ow...
Groovy中對xml的操作補充
android中gradle編譯器使用的是groovy語言,groovy為我們提供了一系列的工具類用於處理xml檔案。關於groovy中如何對xml文件進行操作,這裡有一處文件 在此,補充一些文件中遺漏的點 可以嘗試 import groovy.xml.類似於namespace qname以及xml...