2012年3月27日星期二

ADF_116:VO高级使用技巧之一:可重写的重要的方法

开发运行环境:JDevloper 11.1.2.4.0+ Oracle Database 11gR2 XE

本文最后一次修改日期:2013-07-01

ViewObjectImpl.java中有如下可重写的重要的方法:

1. create()
当VO实例被创建时调用,可用于初始化VO的状态信息。
重写此方法时,如果想要去掉与SQL查询的关联关系,可以调用如下语句:
// Wipe out all traces of a query for this VO
getViewDef().setQuery(null);
getViewDef().setSelectClause(null);
setQuery(null);

2. executeQueryForCollection()
当执行VO查询时调用。

3. hasNextForCollection()
用于支持 row set iterator上的hasNext()方法。
重写此方法时,如果有下一条记录,返回true,否则返回false。

4. createRowFromResultSet()
用于populate取回的数据,变为Row对象保存。
重写此方法时,需要调用方法createNewRowForCollection()创建一个空行,然后调用方法populateAttributeForRow()生成Row对象及其属性。

5. getQueryHitCount()
用于支持方法getEstimatedRowCount()。
重写此方法时,返回满足查询条件的记录数。

6. releaseUserDataForCollection()
用于释放与Row Set关联的上下文对象。

7. getUserDataForCollection() 和 setUserDataForCollection()
上面介绍的方法中,很多都带有一个参数:qc,该参数即是Row Set对象。
重写上面的方法时,经常会需要重新设定或获取Row Set对象,这时,就可以调用getUserDataForCollection() 和 setUserDataForCollection()。

参考文献:
1. Fusion Developer's Guide for ADF 11.1.2.4 之 42.8节:Using Programmatic View Objects for Alternative Data Sources

没有评论: