1 Ecore模型:
1.1 说明:这里展示了整个Ecore模型中各个类的集成关系。
2 继承图
2.1 说明:本部分列出了每一个类所包含的字段,字段的值可以通过Java文件,UML图,XML文件或者Ecore模型进行定制,字段的值将直接影响到Ecore所生成的目标代码。
2.2 EStructurealFeature
2.2.1 类图:
说明:EAttribute和EReference主要用于描述类所能包含的属性。
2.2.2 字段说明:
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
如果是双向的引用,则该值指向另一个方向的引用
2.3 Classifiers
2.3.1 类图:
说明:EClass主要用于描述类,EDataType主要用于描述字段的类型。
2.3.2 字段说明:
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
标识该类型是否需要进行序列化
2.4 Packages and Factories
2.4.1 类图:
说明:EPackage主要用于描述包的信息,EFactory主要用于提供对包内的类进行实例化的
便利方法。
2.4.2 字段说明:
Property
Value
Usage
ENameElement
name
字符串
名称
EFactory
package
对对应的EPackage实例的引用
EPackage
nsURI
字符串
名字空间的URI(与XML对应)
nsPrefix
字符串
名字空间的前缀(与XML对应)
eCLassifiers
对包中的类的引用
eSubpackages
对子包的引用
eFactoryInstance
对对应的EFactory实例的引用
3 类间关系图
3.1 说明:这里展示了多个类如何通过一定的关联来描述用户所需的模型。
3.2 Ecore Kernel
说明:描述类的结构,包括类所包含的属性,关联以及类所包含的操作。
3.3 Packages and Factories
说明:用于描述包的结构。