EMF-Ecore模型概述

<!--[if !supportLists]-->1           <!--[endif]-->Ecore模型:

<!--[if !supportLists]-->1.1          <!--[endif]-->说明:这里展示了整个Ecore模型中各个类的集成关系。

      

<!--[if !supportLists]-->2           <!--[endif]-->继承图

<!--[if !supportLists]-->2.1          <!--[endif]-->说明:本部分列出了每一个类所包含的字段,字段的值可以通过Java文件,UML图,XML文件或者Ecore模型进行定制,字段的值将直接影响到Ecore所生成的目标代码。

 

<!--[if !supportLists]-->2.2          <!--[endif]-->EStructurealFeature

<!--[if !supportLists]-->2.2.1    <!--[endif]-->类图:

<!--[if !vml]-->
<!--[endif]-->

     说明:EAttributeEReference主要用于描述类所能包含的属性。

 

 

 

 

 

 

 

 

<!--[if !supportLists]-->2.2.2    <!--[endif]-->字段说明:

Property

Value

Usage

ENameElement

name

字符串

名称。

ETypedElement

eType

EClassifier

特性的类型。对于EAttribute他是Attribute的类型,对于EReference他是Reference所引用的类型。

lowerBound

整数值

特性的下限

unique

true|false

当特性含有多个值时,值是否允许重复出现

upperBound

整数值

特性的上限

EStructuralFeature

changeable

true|false

特性是否可修改

transient

ture|false

在序列化时,特性是否被忽略

unsettable

true|false

是否能够把特性设置为“未设置”状态

volatie

true|false

是否不需要为特性提供存储空间,一般用于表示特性是从其他特性中导出

required

true|false

特性是否必须,如果是则等价于把下限值设为1

many

true|false

特性是否为多值,如果是则等价于把上限值设为-1

defaultValueLiteral

字符串

特性默认值的字符串表示

defaultValue

Java

默认值所对应的Java实例

EAttribute

iD

true|false

该属性是否全局唯一

EReference

containment

true|false

引用是否是按值引用

container

布尔值

如果引用是双向的,则该值为true

resolveProxies

true|false

当引用者与被引用者处于不同的文档时,我们使用一个代理来代表被引用者,直到第一次访问被引用者时,再装入被引用者的内容并进行解释。而当引用者与被引用者位于同一个文档时,我们可以不用使用这种代理的方式,此时该值可以设置为“false”。

eOpposite

EReference

如果是双向的引用,则该值指向另一个方向的引用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<!--[if !supportLists]-->2.3          <!--[endif]-->Classifiers

<!--[if !supportLists]-->2.3.1    <!--[endif]-->类图:

<!--[if !vml]-->
<!--[endif]-->

     说明:EClass主要用于描述类,EDataType主要用于描述字段的类型。

 

<!--[if !supportLists]-->2.3.2    <!--[endif]-->字段说明:

Property

Value

Usage

ENameElement

name

字符串

名称

EClassifier

instanceClassName

字符串

用于表示该类型的Java类名

instanceClass

Java

instanceClassName指定的类

defaultValue

Java实例

instanceClass所对应的一个实例

EClass

abstract

true|false

如果为true,则该类是一抽象类

interface

true|false

如果为true,则该类是一接口

注:EClass包含了其他大量的用于对操作,属性,关联,父类等进行引用的属性

EDataType

serializable

true|false

标识该类型是否需要进行序列化

 

 

<!--[if !supportLists]-->2.4          <!--[endif]-->Packages and Factories

<!--[if !supportLists]-->2.4.1    <!--[endif]-->类图:

<!--[if !vml]-->
<!--[endif]-->

     说明:EPackage主要用于描述包的信息,EFactory主要用于提供对包内的类进行实例化的

便利方法。

 

<!--[if !supportLists]-->2.4.2    <!--[endif]-->字段说明:

Property

Value

Usage

ENameElement

name

字符串

名称

EFactory

package

 

对对应的EPackage实例的引用

EPackage

nsURI

字符串

名字空间的URI(与XML对应)

nsPrefix

字符串

名字空间的前缀(与XML对应)

eCLassifiers

 

对包中的类的引用

eSubpackages

 

对子包的引用

eFactoryInstance

 

对对应的EFactory实例的引用

 

 

 

 

 

 

 

 

 

 

<!--[if !supportLists]-->3           <!--[endif]-->类间关系图

<!--[if !supportLists]-->3.1          <!--[endif]-->说明:这里展示了多个类如何通过一定的关联来描述用户所需的模型。

 

<!--[if !supportLists]-->3.2          <!--[endif]-->Ecore Kernel

<!--[if !vml]-->
<!--[endif]-->

     说明:描述类的结构,包括类所包含的属性,关联以及类所包含的操作。

 

<!--[if !supportLists]-->3.3          <!--[endif]-->Packages and Factories

<!--[if !vml]-->
<!--[endif]-->

     说明:用于描述包的结构。

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值