DSModifyProvider

属性
接口类型 extra-core
完整类名 com.fr.stable.fun.DSModifyProvider

背景与场景

该接口用于在所有数据集类型完成数据取用后,对数据进行二次加工处理。无论是产品内置数据集还是第三方插件数据集,均支持后处理。常见应用场景包括:数据拆分(JSON/XML 字段细化)、数据脱敏、基本聚合处理、执行监控等。

接口定义

package com.fr.stable.fun;

import com.fr.base.TableData;
import com.fr.general.data.DataModel;
import com.fr.script.Calculator;
import com.fr.stable.fun.mark.Mutable;

public interface DSModifyProvider extends Mutable {

    String MARK_STRING = "DSModifyProvider";

    /**
     * 数据集格式验证,判断是否需要进行二次处理
     * 支持多个实现并存
     */
    boolean accept(TableData ds, Calculator cal, DataModel old);

    /**
     * 数据集二次处理
     * 对初始结果进行加工,返回修改后的数据集
     */
    DataModel modify(TableData ds, Calculator cal, DataModel old);
}

支持版本

产品线 版本 支持情况
FR 8.0 支持
FR 9.0 支持
FR 10.0 支持
FR 11.0 支持
BI 3.6 支持
BI 4.0 支持
BI 5.1 支持
BI 5.1.2 支持
BI 5.1.3 支持

插件注册

plugin.xml 中添加以下节点:

<extra-core>
    <DSModifyProvider class="your class name"/>
</extra-core>

原理说明

所有数据集计算均经过两个方法:EmbeddedTableData#createDataModel(设计器预览)和 SynchronizedLiveDataModelUtils.getLiveDataModel(服务端计算)。系统通过 PluginModule 获取所有已注册的适配器,依次根据 accept() 方法的判断结果,按顺序应用修改逻辑。

常用链接

results matching ""

    No results matching ""