【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

以往开发者大多都接触过程序数据集的基本实现方法。程序数据集从功能上是可以满足开发者对数据的绝大部分诉求的。不过对于报表制作人员来说,程序数据集存在叫非常明显的短板就是使用并不友好。制作人员需要记住大量的类名和业务的关联关系,或者需要手动添加大量的参数实现“配置化”,但是又无法解决参数配置化导致的参数引入问题(比如某些敏感配置只能在制作模板的时候指定,禁止从URL/参数面板等地方引入)。为了给报表制作人员提供更好的使用体验和安全体验,产品内设计了TableDataDefineProvider接口,让开发者得以用插件的形式向用户提供数据集扩展。)。为了给报表制作人员提供更好的使用体验和安全体验,产品内设计了TableDataDefineProvider接口,让开发者得以用插件的形式向用户提供数据集扩展。需要注意的是,该接口不同于ServerTableDataDefineProvider,仅作用于设计器上编辑模板数据集扩展。

三、接口介绍

Code Block
languagejava
themeEclipse
firstline1
titleTableDataDefineProvider.java
linenumberstrue
package com.fr.design.fun;

import com.fr.base.TableData;
import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane;
import com.fr.stable.fun.mark.Mutable;
import com.fr.stable.fun.mark.Aftermath;

/**
 * @author : richie
 * @since : 7.1.1
 * 自定义报表数据集界面接口,单独存在的一个个数据集
 */
public interface TableDataDefineProvider extends Mutable, Aftermath {

    String XML_TAG = "TableDataDefineProvider";

    int CURRENT_LEVEL = 1;

    /**
     * 自定义的数据集设置界面所对应的数据集类型
     * @return 数据集的类型
     */
    Class<? extends TableData> classForTableData();

    /**
     * 自定义数据集设置界面所对应的初始化数据集类型,在一种数据集有多个实现的时候有效
     * @return 数据集类型
     */
    Class<? extends TableData> classForInitTableData();

    /**
     * 自定义的数据集设置界面所对应的界面类型
     * @return 数据集界面类型
     */
    Class<? extends AbstractTableDataPane> appearanceForTableData();

    /**
     * 自定义数据集设置界面在菜单上的现实名字
     * @return 名字
     */
    String nameForTableData();

    /**
     * 自定义数据集在新建的时候名字前缀
     * @return 名字前缀
     */
    String prefixForTableData();

    /**
     * 自定义数据集在菜单上现实的图标
     * @return 图标
     */
    String iconPathForTableData();
}

...