## 接口的使用
kd.bos.form.plugin.IFormPlugin

- 使用IFormPlugin的程序包
  程序包 | 说明
  --- | ---
  kd.bos.base |
  kd.bos.bill |
  kd.bos.form |
  kd.bos.form.func |
  kd.bos.form.plugin |
  kd.bos.list.plugin |
  kd.bos.report.demo |
  kd.bos.report.plugin |

- - ### kd.bos.base中IFormPlugin的使用

    实现IFormPlugin的kd.bos.base中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractBasePlugIn`
    `class` | `AbstractMobBasePlugIn`

  - ### kd.bos.bill中IFormPlugin的使用

    kd.bos.bill中IFormPlugin的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `IBillPlugin`

    实现IFormPlugin的kd.bos.bill中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractBillPlugIn`
    `class` | `AbstractMobBillPlugIn`
    `class` | `KDBillPlugin`
    `class` | `KDMobBillPlugin`

  - ### kd.bos.form中IFormPlugin的使用

    返回IFormPlugin的kd.bos.form中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `IFormPlugin` | FormConfig.`createScriptPlugin(java.lang.String formId, java.lang.String classname)` 创建脚本插件
    `IFormPlugin` | FormConfig.`createScriptPlugin(java.lang.String formId, java.lang.String classname, java.lang.String script)`

    返回变量类型为IFormPlugin的类型的kd.bos.form中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<IFormPlugin>` | FormShowParameter.`createPlugin()`
    `java.util.List<IFormPlugin>` | FormConfig.`createPlugin(java.lang.Class<?> scriptPluginClass, java.lang.String formId)` 创建插件

    参数类型为IFormPlugin的kd.bos.form中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | IFormView.`addPlugin(IFormPlugin plugin)`

    参数类型为IFormPlugin的kd.bos.form中的构造器
    构造器和说明
    `CloseCallBack(IFormPlugin plugin, java.lang.String actionId)`
    `ConfirmCallBackListener(java.lang.String callBackId, IFormPlugin formPlugin)`

  - ### kd.bos.form.func中IFormPlugin的使用

    实现IFormPlugin的kd.bos.form.func中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractFuncParamPlugIn` 自定义函数配置插件基类
    `class` | `FunctionSettingPlug` 函数配置界面插件

  - ### kd.bos.form.plugin中IFormPlugin的使用

    类型参数类型为IFormPlugin的kd.bos.form.plugin中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `KDFormPlugin<T extends IFormPlugin>`

    实现IFormPlugin的kd.bos.form.plugin中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractFormPlugin` 表单界面插件基类，扩展数据模型插件，实现IFormPlugIn、ChickListener、ItemClickListener接口：既能捕获数据改变插件事件，也能捕获界面处理事件； 提供了方法addClickListeners，向界面控件注册本插件的实例，以便控件在完成功能的同时，即时触发插件事件；
    `class` | `AbstractMobFormPlugin`
    `class` | `KDFormPlugin<T extends IFormPlugin>`
    `class` | `YzjContextMenuClickPlugin`

    返回IFormPlugin的kd.bos.form.plugin中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `IFormPlugin` | FormViewPluginProxy.`getPlugin(java.lang.String className)`

    返回变量类型为IFormPlugin的类型的kd.bos.form.plugin中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `java.util.List<IFormPlugin>` | FormViewPluginProxy.`getPlugIns()` 插件实例集合

    参数类型为IFormPlugin的kd.bos.form.plugin中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | FormViewPluginProxy.`registerPlugin(IFormPlugin plugin)` 注册插件实例
    `void` | FormViewPluginProxy.`removePlugIn(IFormPlugin plugIn)` 移除插件,业务注入插件自己创建，自己移除

    类型变量类型为IFormPlugin的kd.bos.form.plugin中的方法参数
    限定符和类型 | 方法和说明
    --- | ---
    `void` | FormViewPluginProxy.`registerPlugins(java.util.List<IFormPlugin> list)` 注册插件实例

  - ### kd.bos.list.plugin中IFormPlugin的使用

    kd.bos.list.plugin中IFormPlugin的子接口
    限定符和类型 | 接口和说明
    --- | ---
    `interface` | `IListPlugin`

    实现IFormPlugin的kd.bos.list.plugin中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractListPlugin`
    `class` | `AbstractMobListPlugin`
    `class` | `AbstractTreeListPlugin`
    `class` | `KDListPlugin`
    `class` | `StandardTreeListPlugin` 标准树列表插件

  - ### kd.bos.report.demo中IFormPlugin的使用

    实现IFormPlugin的kd.bos.report.demo中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `DemoOCR`
    `class` | `DemoReport`

  - ### kd.bos.report.plugin中IFormPlugin的使用

    实现IFormPlugin的kd.bos.report.plugin中的类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `AbstractReportFormPlugin` 报表表单插件
    `class` | `GroupReportFormPlugin`