◆ 实例请参考API实例 / 自定义类 / 数据集监听类
数据集工厂侦听:
l 类说明
在数据集创建前后,可能需要做一定的业务处理,那么,就需要自定义数据集的处理类来完成所需要的工作。自定义数据集处理类主要通过写自定义类实现IDataSetFactoryListener接口,在本接口中有public void beforeCreated(Context context, DataSetConfig dsc, DataSet arg2)及public void afterCreated(Context arg0, DataSetConfig arg1, DataSet arg2)方法,这两个方法在数据集创建时由系统调用。如beforeCreated(Context context, DataSetConfig dsc, DataSet arg2)方法实现代码如下:
public void beforeCreated(Context context, DataSetConfig arg1, DataSet arg2) {
//定义调用存储过程的对象CallableStatement
CallableStatement cs = null;
try {//取得数据库连接
java.sql.Connection conn = context.getConnectionFactory (context.getDefDataSourceName() ). getConnection();
//调用存储过程
cs = conn.prepareCall("{ call createTablePro(?)}");
//设置创建临时表的名称
cs.setString(1,"tempTable");
//执行存储过程
cs.execute();
} catch (Exception e1) {
e1.printStackTrace();
}
}
l 可用方法
afterCreated
语 法: public void afterCreated(Context context,DataSetConfig dsc,DataSet arg2)
参数说明:
context– 上下文
dsc – 当前数据集配置
arg2 – 当前数据集
功能说明: 数据集产生之后执行的方法
beforeCreated
语 法: public void beforeCreated(Context context,DataSetConfig dsc,DataSet arg2)
参数说明:
context– 上下文
dsc – 当前数据集配置
arg2 – 当前数据集
功能说明: 数据集产生之前执行的方法。
数据集工厂过滤:
l 类说明
在计算数据集时,有时需要在计算过程中对数据集做过滤。因此则需要自定义数据集的过滤类来实现。如果设定了过滤类,则在生成数据集的每一条记录时都会做判断。
自定义数据集过滤类主要通过写自定义类实现IDataSetFilter接口,在本接口中有public boolean filter(Object[] arg0)、public void setContext(Context context)、public void setDataSet(DataSet ds)及public void setDataSetConfig(DataSetConfig dsconfig)方法,这些方法在数据集创建时由系统调用。如public boolean filter (Object[] arg0)方法实现代码如下:
public boolean filter(Object[] arg0) {
StringBuffer sb = new StringBuffer();
for(int i=0;i<arg0.length;i++){
sb.append(arg0[i]+",");
}
System.out.println("======过滤数据========"+sb.toString());
//使用demo数据源订单表,过滤出订单id>10800的数据
int id = Integer.parseInt(arg0[0].toString());
if(id>10800){
return true;
}else{
return false;
}
}
l 可用方法
filter
语 法: public boolean filter (Object[] arg0)
参数说明: arg0 一条记录
返回值: boolean 该记录是否满足过滤条件
功能说明: 过滤,该行数据满足条件返回true,否则返回false
setContext
语 法: public void setContext (Context context)
参数说明: context 上下文
功能说明: 设定上下文环境
setDataSet
语 法: public void setDataSet (DataSet ds)
参数说明: ds 数据集
功能说明: 设定数据集,以在过滤时获取相关信息
setDataSetConfig
语 法: public void setDataSetConfig (DataSetConfig dsconfig)
参数说明: dsconfig 数据集配置
功能说明: 设定数据集配置信息