为了提高建模的效率,开发人员希望在Palette中定制代表了这些业务角色的新元素。本文基于上面的实例总结了开发人员在进行Palette扩展时所采用的基本实现技术和难点。3 基于RSA的Palette静态扩展从前面的讨论可以知道,RSA是构建在Eclipse3.0的基础之上的。Eclipse的插件结构是Eclipse重要的基础设施和体系结构,其中应用扩展点是两个或者多个插件完成协作的基础。基于RSA的Palette静态扩展方法就是通过Eclipse,定义单独的插件来完成Palette扩展点的定义,从而增加新的建模功能。本节将通过一个简单的"零售业务建模"的例子向您逐步展示如何来对RSA的Palette进行扩展。在"零售业务建模"中,我们需要四类角色:零售提供商、商品、消费者和零售商。为了提供更好的操作感觉和交互过程,我们将扩展Palette面板,这样进行零售业务建模就如同UML建模一样的直观快捷。同RSA平台中其他插件一样,Palette也是通过扩展点来进行定义的,所以,必须要在插件清单plugin.xml文件中声明所需要的扩展点,并且提供相应的实现类。对于Palette而言,要声明的扩展点就是com.ibm.xtools.PResentation.paletteProvider,要提供的实现类必须实现com.ibm.xtools.presentation.internal.services.palette.IPaletteProvider接口。当然,也可以使用缺省的com.ibm.xtools.presentation.internal.services.palette.DefaultPaletteProvider类,因为DefaultPaletteProvider已经完全实现了IPaletteProvider接口,在RSA的一些建模插件中,可以查找到使用的都是这个缺省的Palette提供类。就palette而言,只有这样的声明是不够的,更加完整的扩展声明如清单1所示。清单1 一个完整的Palette扩展声明
以清单2为例,上述entry节点中
虽然,我们新扩展的零售建模工具已经在Palette面板中出现,但是他们不能执行任何操作,甚至会抛出异常,因此,我们要进一步添加功能方面的扩展。首先,对应着Palette中的工具,在插件中要有相应的工具类来完成该工具的操作。这个工具类通常要求继续自com.ibm.xtools.presentation.internal.tools.CreationTool,例如实现消费者的模型生成工具类的代码段如下:
其中,
其中:
为了提高建模的效率,开发人员希望在Palette中定制代表了这些业务角色的新元素。本文基于上面的实例总结了开发人员在进行Palette扩展时所采用的基本实现技术和难点。3 基于RSA的Palette静态扩展从前面的讨论可以知道,RSA是构建在Eclipse3.0的基础之上的。Eclipse的插件结构是Eclipse重要的基础设施和体系结构,其中应用扩展点是两个或者多个插件完成协作的基础。基于RSA的Palette静态扩展方法就是通过Eclipse,定义单独的插件来完成Palette扩展点的定义,从而增加新的建模功能。本节将通过一个简单的"零售业务建模"的例子向您逐步展示如何来对RSA的Palette进行扩展。在"零售业务建模"中,我们需要四类角色:零售提供商、商品、消费者和零售商。为了提供更好的操作感觉和交互过程,我们将扩展Palette面板,这样进行零售业务建模就如同UML建模一样的直观快捷。同RSA平台中其他插件一样,Palette也是通过扩展点来进行定义的,所以,必须要在插件清单plugin.xml文件中声明所需要的扩展点,并且提供相应的实现类。对于Palette而言,要声明的扩展点就是com.ibm.xtools.presentation.paletteProvider,要提供的实现类必须实现com.ibm.xtools.presentation.internal.services.palette.IPaletteProvider接口。当然,也可以使用缺省的com.ibm.xtools.presentation.internal.services.palette.DefaultPaletteProvider类,因为DefaultPaletteProvider已经完全实现了IPaletteProvider接口,在RSA的一些建模插件中,可以查找到使用的都是这个缺省的Palette提供类。就palette而言,只有这样的声明是不够的,更加完整的扩展声明如清单1所示。清单1 一个完整的Palette扩展声明
以清单2为例,上述entry节点中
虽然,我们新扩展的零售建模工具已经在Palette面板中出现,但是他们不能执行任何操作,甚至会抛出异常,因此,我们要进一步添加功能方面的扩展。首先,对应着Palette中的工具,在插件中要有相应的工具类来完成该工具的操作。这个工具类通常要求继续自com.ibm.xtools.presentation.internal.tools.CreationTool,例如实现消费者的模型生成工具类的代码段如下:
其中,
其中:
为了提高建模的效率,开发人员希望在Palette中定制代表了这些业务角色的新元素。本文基于上面的实例总结了开发人员在进行Palette扩展时所采用的基本实现技术和难点。3 基于RSA的Palette静态扩展从前面的讨论可以知道,RSA是构建在Eclipse3.0的基础之上的。Eclipse的插件结构是Eclipse重要的基础设施和体系结构,其中应用扩展点是两个或者多个插件完成协作的基础。基于RSA的Palette静态扩展方法就是通过Eclipse,定义单独的插件来完成Palette扩展点的定义,从而增加新的建模功能。本节将通过一个简单的"零售业务建模"的例子向您逐步展示如何来对RSA的Palette进行扩展。在"零售业务建模"中,我们需要四类角色:零售提供商、商品、消费者和零售商。为了提供更好的操作感觉和交互过程,我们将扩展Palette面板,这样进行零售业务建模就如同UML建模一样的直观快捷。同RSA平台中其他插件一样,Palette也是通过扩展点来进行定义的,所以,必须要在插件清单plugin.xml文件中声明所需要的扩展点,并且提供相应的实现类。对于Palette而言,要声明的扩展点就是com.ibm.xtools.presentation.paletteProvider,要提供的实现类必须实现com.ibm.xtools.presentation.internal.services.palette.IPaletteProvider接口。当然,也可以使用缺省的com.ibm.xtools.presentation.internal.services.palette.DefaultPaletteProvider类,因为DefaultPaletteProvider已经完全实现了IPaletteProvider接口,在RSA的一些建模插件中,可以查找到使用的都是这个缺省的Palette提供类。就palette而言,只有这样的声明是不够的,更加完整的扩展声明如清单1所示。清单1 一个完整的Palette扩展声明
以清单2为例,上述entry节点中
虽然,我们新扩展的零售建模工具已经在Palette面板中出现,但是他们不能执行任何操作,甚至会抛出异常,因此,我们要进一步添加功能方面的扩展。首先,对应着Palette中的工具,在插件中要有相应的工具类来完成该工具的操作。这个工具类通常要求继续自com.ibm.xtools.presentation.internal.tools.CreationTool,例如实现消费者的模型生成工具类的代码段如下:
其中,
其中:新闻热点
疑难解答