Groovy在ADF BC中的常见用法之一
来源:互联网 发布:西厢记网络展览馆 编辑:程序博客网 时间:2024/06/06 00:08
开发运行环境: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"){
return newValue < 1000
} else
return true
在验证规则中reference一个Attribute时,Attribute-level的验证规则首先被触发,验证该Attribute的newValue值。newValue是用户输入后改变的值,oldValue是改变之前的值。
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。
(1)在Employees EO的Salary Attribute增加一个验证规则:
if (JobId == "SA_REP"){
return newValue < 1000
} else
return true
在验证规则中reference一个Attribute时,Attribute-level的验证规则首先被触发,验证该Attribute的newValue值。newValue是用户输入后改变的值,oldValue是改变之前的值。
(2)在Employees EO的Salary Attribute增加另一个验证规则,其中调用了EntityImpl类中的自定义方法:getMaxSalaryForGrade。
if (JobId == "SA_MAN"){
return newValue < source.getMaxSalaryForGrade(JobId)
} 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) {
super.create(attributeList);
SequenceImpl seq = new SequenceImpl("EMPLOYEES_SEQ", getDBTransaction());
oracle.jbo.domain.Number seqNextVal = seq.getSequenceNumber();
setEmployeeId(Integer.valueOf(seqNextVal.intValue()));
}
(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) {
super.create(attributeList);
SequenceImpl seq = new SequenceImpl("EMPLOYEES_SEQ", getDBTransaction());
oracle.jbo.domain.Number seqNextVal = seq.getSequenceNumber();
setEmployeeId(Integer.valueOf(seqNextVal.intValue()));
}
这样修改后,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) {
SequenceImpl s = new SequenceImpl(sequenceName, getDBTransaction());
return s.getSequenceNumber();
}
然后,设置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。
Project 下载:ADF_Groovy.7z
(1)如果想访问LastName的label属性,可以这样写:adf.object.hints.LastName.label。
(2)如果在error message中想访问LastName的label属性,可以这样写:source.hints.LastName.label。
Project 下载:ADF_Groovy.7z
http://maping930883.blogspot.com/2013/06/adf233groovyadf-bc.html
0 0
- Groovy在ADF BC中的常见用法之一
- Groovy在ADF BC中的常见用法之一
- Groovy在ADF BC中的常见用法之二
- Groovy在ADF BC中的常见用法之三
- Groovy在ADF BC中的常见用法之三
- Groovy在ADF BC中的常见用法之二
- ADF-BC 特色功能之一:级联式下拉列表
- ADF-BC中EO常用操作代码之一:查询EO
- 使用ADF-BC 实现查询功能之一:All Queriable Attributes
- 访问oracle中的BC之通过AM,而非ADF
- ADF BC New Features
- ADF BC bc4j.xcfg
- ADF BC组件的理解
- ADF BC bc4j.xcfg专贴
- collections在java中的常见用法
- collections在java中的常见用法
- Collections在java中的常见用法
- collections在java中的常见用法
- Mina框架技术知识介绍
- 字符串映射(ZOJ 1109)
- LeetCode | Linked List Cycle II
- 往hadoop文件系统上传文件的时候报:could only be replicated to 0 nodes, instead of 1
- 单列集合的特点与使用
- Groovy在ADF BC中的常见用法之一
- Strut2复杂对象数据转移
- poj2135--Farm Tour
- android:contact
- 《互联网创业密码》的书评
- linux sed命令详解
- 好的博客记录查看
- vc串口源码调试-控件初学者必看!
- java中传参数问题