一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法
2010-04-02 00:00:00 来源:WEB开发网核心提示: 连接线创建时的验证方法在使用图形化来设计工作流的时候,为了把具体的流程和逻辑表现清楚,一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法(3),需要在不同的模型之间建立关联关系,通常的方式就是在模型对应的图形之间创建一条连接线(连接线本身也是一个模型,A 和 B1是一对一的,对应的
连接线创建时的验证方法
在使用图形化来设计工作流的时候,为了把具体的流程和逻辑表现清楚,需要在不同的模型之间建立关联关系,通常的方式就是在模型对应的图形之间创建一条连接线(连接线本身也是一个模型,代表了某个特定的关联关系)。关联关系可以是多种多样的,比如说一对一、一对多、多对多等。 如图2所示,模型 A 同时跟三个模型 B1、B2 和 B3 建立了连接(假定均为一对一的关系)。每条连接线都有起始端和目的端,当创建一条连接线时,连接线两端对应的模型都要进行添加连接线的操作。在建模的时候,对于每个模型都允许从其引出一条连接线或者作为连接线的终点,而连接线是保存在模型内部的一个集合中。 连接线的创建是在一个 Command 里面实现的。 Command 是 GEF 里包含的一个基类,提供了重新执行、撤销执行和执行条件判断等操作。
图 2. 一般的连接线创建
由 EMF 生成的模型对应的 Java 代码有着特定格式的。 假设有模型 A、B1、B2 和 B3,模型A 和 B1 、B2、B3 的关系分别为一对一、一对多和多对多。 每个模型分别对应着两个类(一个接口、一个接口实现类)。 比如模型 A对应着 interface ModelA 和 class ModelAImpl(此处用的是假设的类名)。 图3为 EMF 生成模型的类图。可以看出,当模型间的关系不同时,其对应类的成员方法是有规律可循的。A 和 B1是一对一的,对应的 ModelA 类就含有ModelB1 getModelB1( ) 和void setModelB1(ModelB1)方法;而 A 和 B2 是一对多的,ModelA 类就含有 EList getModelB2( ) 方法。
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接