WEB开发网
开发学院软件开发Java 基于反射机制的 EMF 模型比较 阅读

基于反射机制的 EMF 模型比较

 2010-07-06 00:00:00 来源:WEB开发网   
核心提示:EMF 和 Ecore 简介Eclipse Modeling Framework(EMF)是一个开放源代码的模型驱动应用程序开发框架,它可以基于 XML Schema、UML 或带有模型特征注释的 Java 接口,基于反射机制的 EMF 模型比较,创建 Java 代码,实现图形化的数据编辑、操纵、读取和序列化,它以属性

EMF 和 Ecore 简介

Eclipse Modeling Framework(EMF)是一个开放源代码的模型驱动应用程序开发框架。它可以基于 XML Schema、UML 或带有模型特征注释的 Java 接口,创建 Java 代码,实现图形化的数据编辑、操纵、读取和序列化。EMF 是 IBM WebSphere Studio 和 Eclipse 项目中很多工具的基础。

Ecore 元模型是 EMF 框架的核心,它描述 EMF 模型并且提供模型的运行时支持,包括:模型修改通知,以默认的 XMI 序列化提供 EMF 的持久化支持,以及通用于操作 EMF 对象的高效反射 API。本文正是运用 EMF 的反射 API 读取 EMF 对象的值,在此基础上完成 EMF 对象的比较。

图 1. Ecore 类型树
基于反射机制的 EMF 模型比较

查看原图(大图)

图 1 为 Ecore 的类型树。图中灰色填充背景表示在 EMF 框架中,该接口的实现类为抽象类,黄色填充背景的接口有非抽象的实现类。对图中与本文相关的类型介绍如下:

EAttribute:用来描述一个属性,它拥有一个名字和类型。EAttribute 描述简单数据 , 它由一个 EDataType 来指定。

EClass:是 EMF 对象的元类型,用来描述建模模型。它以属性(EAttribute)和引用(EReference)描述建模类的字段(Field)。类似 Java 的 Object.getClass() 得到的 Class,调用 EObject 对象的 eClass() 方法可以得到 EClass。

1 2 3 4 5 6  下一页

Tags:基于 反射 机制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接