EMF-Ecore模型创建
2008-02-23 09:50:26来源:互联网 阅读 ()
1 包定义
1.1 UML方式:
a) 定义:
i. 图:
ii. 生成代码:
publicinterface StPackage extends EPackage {
String eNAME = "st";
String eNS_URI = "http://st";
String eNS_PREFIX = "st";
…
}
1.2 Java方式:
a) 定义:
i. 代码:
public interface stPackage {
public String eName = "st";
public String eNS_URI = "http://st";
public String eNS_PREFIX = "st";
}
说明:interface声明中不能带“@model”标记,接口名称要以“Package”结尾。接
口可以声明以下三个字段eName,eNS_URI,eNS_PREFIX。
1.3 XML方式
a) 定义:
i. 代码:
<xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema
targetNamespace=http://st
xmlns:st="http://st">
</xsd:schema>
说明:nsURI的值由targeNamespace指定。nsPrefix的值由targetNamespace导出。
name是targetNamespace的最后一段。
2 类定义
2.1 UML方式
a) 定义:
i. 图:
ii. 生成代码:
public class TeacherImpl extendsEObjectImpl implements Teacher {
…
}
b) 接口:
i. 说明:如果把类的stereotype设置为<<interface>>,则EMF将使生成的EClass的interface字段设为true,但在EMF 2.1.0的测试版中,EMF并不能识别出这个<<interface>>类型。
c) 抽象类:
i. 图:
ii. 生成代码:
public abstract class TeacherImplextends EObjectImpl implements Teacher {
…
}
d) 单继承:
i. 图:
ii. 生成代码:
public class JavaTeacherImpl extendsTeacherImpl implements JavaTeacher {
…
}
e) 多继承
i. 图:
ii. 生成代码:
public interface JavaTeacher extendsTeacher, Nothing, Java {
}
public class JavaTeacherImpl extendsTeacherImpl implements JavaTeacher {
…
}
2.2 Java方式:
a) 定义:
i. 代码:
/**
* @model
*/
public interfaceStudent{}
说明:需要使用“@model”标记。
b) 接口:
i. 代码:
/**
* @model interface="true"
* */
public interface Teacher{}
说明:通过声明interface属性,在生成代码当中将不会有TeacherImpl类生成。
c) 抽象类:
i. 代码:
/**
* @model abstract="true"
* */
public interface Teacher{}
说明:通过声明abstract属性,在生成代码中TeacherImpl将成为一抽象类。
d) 单继承:
i. 代码:
/**
* @model
* */
public interface JavaTeacher extendsTeacher{}
e) 多继承:
i. 代码:
/**
* @model
* */
public interface JavaTeacher extends Teacher,Java{}
说明:在多继承时,接口的实现类将会扩展排在extends中第一个位置的接口的实现类。上例中,生成代码中的JavaTeacherImpl将会extends TeacherImpl。
2.3 XML方式:
a) 定义:
i. 代码:
<xsd:complexType name="Teacher"/>
说明:类名由complexType中的name属性指定。
b) 接口:
i. 说明:XML没有提供用于定义接口的机制。
c) 抽象类:
i. 代码:
<xsd:complexTypename="Teacher" abstract="true"/>
d) 单继承:
i. 代码:
<xsd:complexTypename="Teacher"/>
<xsd:complexTypename="JavaTacher">
<xsd:complexContent>
<xsd:extension base="st:Teacher"/>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:[总结]J2EE综合应用
下一篇:JDOM 介绍及使用指南
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash