快速业务通道

使用EMF实现模型驱动开发,第1部分:创建UML模型并生成代码 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
类中的 Interface! 为了明确这一点,清 单 3 展示了 TopicCategory 枚举类型是如何实现的。

清单 3. 枚举类型 TopicCategory.java

package com.ibm.example.forum; /**  *  @model  */ public     class TopicCategory{  /**  * @model name="Announcement"  */  public static final int  ANNOUNCEMENT = 0;  /**  * @model name="GuestBook"  */  public static final int GUEST_BOOK = 1;  /**  * @model name="Discussion"  */  public static  final int DISCUSSION = 2; }

最后,生成如下所示的三个接口 ,模型就完成了:

接口 方法 模型标签
Member List getPosts() type="Post" opposite="author"
List getTopicsCreated() type="Topic" opposite="creator"
String getName()
Topic List getPosts() type="Post" opposite="author"
Member getCreator() opposite="topicsCreated"
String getTitle()
TopicCategory getCategory()
Post Member getAuthor opposite="posts"
Topic getTopic() opposite="posts"
String getComment()

模型定义完成之时,可以生成 EMF 模型( File > New > Other > Eclipse Modeling Framework > EMF Models)。将父目录设为 com.ibm.example.forum/src/model, File name设为 forum.genmodel。在下一个页面上 ,选择 Load from annotated Java,然后选中包“forum”旁边的复选框。然 后单击 Finish。这样就创建了一个名为 forum.genmodel 的 EMF 模型。

使用EMF实现模型驱动开发,第1部分:创建UML模型并生成代码(5)

时间:2011-03-26 IBM Adrian Powell

使用生 成的 EMF 模型

现在您的工作空间中应该有一个生成好的 EMF 模型 forum.genmodel。这个模型中包含您输入其中的所有信息。用默认的编辑器打开这个模型 (参见图 3),再打开 Properties 视图,然后检查模型树中每一个节点的属性。前面输 入的所有属性都可以定制,但是也有一些用于定制代码生成的属性。为了验证这一点,让 我们试着修改 “Copyright Text”或“Generate Schema”之类的 属性,看看会发生什么事情。

图 3. 在默认的编辑器中打开生成的 EMF 模型

如果 对模型描述(UML、XSD、带注释的 Java)进行了修改,也可以在 Package Explorer 中 用右键单击该模型,然后选择 Reload,这样就能够重新加载模型。这实现了用 EMF 生成 的模型与模型描述之间的同步。重新加载后将会改变您在生成的模型中修改过的属性。

生成 Java 代码

如果您对模型描述感到满意,或者如果您仅仅是想看看所 有这一切到底是什么意思,那么现在就可以生成代码了。在根节点上单击鼠标右键,选择 其中一个生成选项:Model、Edit、或 Editor code。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号