
# JAVA联查介绍
对于某些特殊的场景,需要通过JAVA联查实现,二开可以实现标准产品接口进行定制化开发,具体执行的业务逻辑由接口的实现决定。
java联查设置方式如下:

接口说明:
com.kingdee.bos.ctrl.ext.immit.datawalker.IHyperLinkJumper

处理联查的Java类需实现IHyperLinkJumper接口,否则系统会提示:

IHyperLinkJumper:超链接跳转器,通过DataWalkerHyperLinkAssembler装配出来的跳转器,需要在设计时配置一个jumper对象,运行时点击超链接,超链接会调用jumpTo接口,传入一个Sheet的数据适配器,具体实现逻辑由业务决定。
(注:接口的实现需要提供一个无参构造)
# Sheet数据适配器介绍
**接口说明:**
com.kingdee.bos.ctrl.ext.immit.datawalker.IDataWalker
IDataWalker隔离了外部API对引擎对象的显式依赖,仅提供一个方法fetchData用于向报表引擎抽取数据:

表页数据抽取适配器,目前提供七种抽取命令:
com.kingdee.bos.ctrl.ext.immit.datawalker.SheetDataWalker




**重点:以上七种操作的command,都有严格规定通过该操作所获取的结果在fetchData第二个参数params中的位置,业务通过params[index]获取操作的结果值。**
*案例:com.kingdee.bos.ctrl.ext.immit.datawalker.AHyperLinkJumperImpl.DataHelper
这是一个demo,通过传入的表页数据抽取适配器可以调用对应的操作获取相应的返回值。
举例说明:
com.kingdee.bos.ctrl.ext.immit.datawalker.AHyperLinkJumperImpl.DataHelper.getCellValue(int, int)
该方法可以通过传入行列索引位置获取单元格的值,原理是通过表页数据抽取适配器的fetchData方法,方法接收两个参数,command为指定操作的类型,params为一个数组,数组长度需要提前根据以上七种操作类型确定,框架会检测数组的长度是否合规,最终将数据存储在params中,业务需要根据对应数组对应位置的index获取相应 的值。


业务可以在自定义的jumper中做一些其他操作,比如打开某个网页,或打开某个单据或者报表。
# 流程图
