本发明专利技术公开了一种Eclipse RCP扩展点配置方法及装置,所述方法包括:对扩展类增加可依据具体对象转换出符合配置文件规范的规范文件的自描述符,以及对已增加自描述符的扩展类增加可对符合配置文件规范的规范文件进行转换的接口;程序启动前,搜索系统中的目标扩展类,并将其反射成具体扩展类对象;依据目标扩展类的自描述符以及接口将具体扩展类对象转换成规范文件,并调用富客户机平台RCP的扩展功能注册管理类ExtensionRegistry的注册扩展功能方法addContribution将该规范文件注册至RCP核心。本发明专利技术在整个Eclipse RCP扩展点实现过程中,只需编写扩展类,不需要人工编写配置文件。因此,采用本发明专利技术可以简化开发人员的开发步骤,提高软件的开发效率,降低维护成本,并且不易出错。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种Eclipse RCP扩展点配置方法及装置,所述方法包括:对扩展类增加可依据具体对象转换出符合配置文件规范的规范文件的自描述符,以及对已增加自描述符的扩展类增加可对符合配置文件规范的规范文件进行转换的接口;程序启动前,搜索系统中的目标扩展类,并将其反射成具体扩展类对象;依据目标扩展类的自描述符以及接口将具体扩展类对象转换成规范文件,并调用富客户机平台RCP的扩展功能注册管理类ExtensionRegistry的注册扩展功能方法addContribution将该规范文件注册至RCP核心。本专利技术在整个Eclipse RCP扩展点实现过程中,只需编写扩展类,不需要人工编写配置文件。因此,采用本专利技术可以简化开发人员的开发步骤,提高软件的开发效率,降低维护成本,并且不易出错。【专利说明】Ecl ipse RCP扩展点配置方法及装置
本专利技术涉及软件开发
,具体而言,尤其涉及一种集成开发环境Eclipse RCP (Rich Client Platform,富客户机平台)扩展点配置方法及装置。
技术介绍
集成开发环境Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其 本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse RCP是 一种基于Eclipse核心的Java跨平台图形用户界面开发技术。由于继承了 Eclipse的插 件体系,RCP开发出来的程序都具有良好的扩展性,因此,RCP-般被广泛地用来构建跨平 台的管理工具或系统。 在RCP中,功能扩展是通过扩展点来实现的。通常,其主插件只关心某个扩展点的 ID,并不关心具体有哪些扩展。具体功能插件在扩展时,先编写扩展类,然后在对应插件的 配置文件plugin, xml中按照规则进行配置。当程序运行后,具体的扩展功能可以被动态加 载。 下面以主菜单的扩展为例,对传统的Eclipse RCP扩展点实现方法进行简单说明。 假设已有一个名称为"文件"的主菜单,其扩展点ID为A。现需要在"文件"菜单中新增一 个"保存"菜单项,传统的扩展点配置实现步骤如下: 步骤1、定义一个新扩展类,定义"保存"菜单项的业务逻辑。 步骤2、在配置文件plugin, xml中进行人工配置,主要将扩展类的全限定名、功能 名称、功能图标文件名、以及所属扩展点ID等信息在plugin, xml中进行描述。 可见,传统的Eclipse RCP扩展点配置是一种采用人工方式进行配置的方法,这种 传统方法存在以下问题: (1)每次新增扩展功能,都需要开发人员人工编写配置文件plugin, xml,由此增加 了开发人员的工作量,除此之外,扩展功能的配置文件编写必须遵循一定的规则,且由于 不同的扩展点拥有不同的XML (Extensible Markup Language,可扩展标记语言)规则,而 XML规则往往难以记忆,这就导致开发人员的开发效率进一步降低。 (2)当开发人员需要修改扩展类时,需要人工同步修改配置文件plugin, xml。另 夕卜,由于具体需要,扩展类可能会被修改,如类名、包名可能被修改,甚至类文件被删除,此 时,由于扩展类被修改,贝 1J配置文件plugin, xml也必须同时由开发人员手工地进行适应性 修改,由此便加大了开发人员的工作繁琐程度,且由于需要开发人员手工地进行配置文件 plugin, xml的修改,在修改过程中可能会出现错误,从而导致扩展点配置失败。
技术实现思路
为了解决现有技术中存在的上述问题的至少其中之一,本专利技术实施例的目的在于 提供一种Eclipse RCP扩展点配置方法及装置。 为了达到本专利技术的目的,本专利技术采用以下技术方案实现: 本专利技术实施例提供的一种Eclipse RCP扩展点配置方法,其包括: 对扩展类增加可依据具体对象转换出符合配置文件规范的规范文件的自描述符, 以及对已增加自描述符的扩展类增加可对符合配置文件规范的规范文件进行转换的接 Π ; 程序启动前,搜索系统中的目标扩展类,并将其反射成具体扩展类对象; 依据目标扩展类的自描述符以及接口将具体扩展类对象转换成规范文件,并调 用富客户机平台RCP的扩展功能注册管理类ExtensionRegistry的注册扩展功能方法 addContribution将该规范文件注册至RCP核心。 优选地,对扩展类增加可依据具体对象转换出符合配置文件规范的规范文件的自 描述符的步骤包括: 对于需要自动配置的目标扩展点,根据其对应的配置文件规范,得到配置文件所 需要的该扩展点的描述信息; 为目标扩展点的扩展类分别增加与相应描述信息相对应的自描述符,使得目标扩 展点的扩展类能够依据具体对象转换出符合配置文件规范的规范文件。 优选地,对已增加自描述符的扩展类增加可对符合配置文件规范的规范文件进行 转换的接口的方法为: 对已增加自描述符的扩展类统一继承自动搜索自动配置功能扩展 AutoConfigExtension抽象类,该AutoConfigExtension抽象类要求其子类均提供转换为 规范文件toPluginXml ()方法,其中,所述配置文件为RCP插件开发框架规范中的plugin, xml,所述规范文件为可扩展标记语言XML文件。 优选地,程序启动前搜索系统中的目标扩展类并将其反射成具体扩展类对象的步 骤包括: 获取系统中的所有Bundle插件; 使用Bundle对象的获取资源getResources (〃/〃)方法,获取每个Bundle插件对 应的绝对路径; 获取每个Bundle插件中包含的全部类文件,得到所有类的全限定名; 根据类的全限定名,使用Bundle对象的加载类IoadClass方法,依次加载Class 对象,判断该Class对象是否继承了 AutoConfigExtension抽象类,若是,则将其反射成具 体扩展类对象,加入返回集合中,否则丢弃。 优选地,所述扩展点包括但不限于工具栏扩展点、主菜单扩展点、弹出菜单扩展 点、编辑器扩展点、视图扩展点、透视图扩展点。 本专利技术实施例提供的一种Eclipse RCP扩展点配置装置,其包括: 配置单元,用于对扩展类增加可依据具体对象转换出符合配置文件规范的规范文 件的自描述符,以及进一步用于对已增加自描述符的扩展类增加可对符合配置文件规范的 规范文件进行转换的接口; 搜索单元,用于在程序启动前,搜索系统中的目标扩展类,并将其反射成具体扩展 类对象; 处理单元,用于依据目标扩展类的自描述符以及接口将具体扩展类对象转换成规 范文件,并调用富客户机平台RCP的扩展功能注册管理类ExtensionRegistry的注册扩展 功能方法addContribution将该规范文件注册至RCP核心。 优选地,所述配置单元包括: 第一配置模块,用于对于需要自动配置的目标扩展点,根据其对应的配置文件规 范,得到配置文件所需要的该扩展点的描述信息; 第二配置模块,用于为目标扩展点的扩展类分别增加与相应描述信息相对应的自 描述符,使得目标扩展点的本文档来自技高网...
【技术保护点】
一种Eclipse RCP扩展点配置方法,其特征在于,包括:对扩展类增加可依据具体对象转换出符合配置文件规范的规范文件的自描述符,以及对已增加自描述符的扩展类增加可对符合配置文件规范的规范文件进行转换的接口;程序启动前,搜索系统中的目标扩展类,并将其反射成具体扩展类对象;依据目标扩展类的自描述符以及接口将具体扩展类对象转换成规范文件,并调用富客户机平台RCP的扩展功能注册管理类ExtensionRegistry的注册扩展功能方法addContribution将该规范文件注册至RCP核心。
【技术特征摘要】
【专利技术属性】
技术研发人员:陆彦良,
申请(专利权)人:南京中兴力维软件有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。