<!--[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]-->
说明:EAttribute和EReference主要用于描述类所能包含的属性。
<!--[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]-->
说明:用于描述包的结构。