数据集处理类

实例请参考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  数据集配置

功能说明:  设定数据集配置信息