EMF简介

EMF:Eclipse Modeling Framework

在基于结构化数据模型(structured data model)构建工具和应用程序时,EMF可以充当模型框架 (modeling framework)和代码生成工具 (两种角色)。

从以XMI(XML Meta Interchange 、基于XML的元数据交换)描述的model中,EMF能够生成model对应的类和一些适配类(adapter class)。model类用于代表模型本身;适配类能够查看和以命令的方式编辑model,并提供了一个基本的editor。

EMF构建包里面包括XML Schema Infoset Model(XSD)和一个基于EMF的Service Data Objects(SDO)实现。XSD现在已经是另外一个Eclipse项目Model Development Tools(MDT)的组成部分。XSD提供了处理XML Schema的模型和API。

EMF的子项目还包括:
Model Query: 查询Model的元素和内容
Model Transaction: 构建于EMF之上,为管理EMF资源提供管理层模型
Validation Framework: 保证model的完整性

EMF有三个组成部分:
EMF:
核心的EMF框架,meta model(Ecore).
提供对model的支持,包括变化通知、持久化支持(默认的XMI方式)、处理EMF对象的API等
EMF.Edit
包括为EMF model创建editor所需要的可重用类
a)content provier and label provider、property source support、其它显示EMF model在桌面上的工具类
b)command framework。包括完全支持redo undo操作的command实现类。
EMF.Codegen:
能生成构建一个完全的EMF Model Editor所需的一切资源。
含有一个可指定生成命令和选择生成器的图形界面。
代码生成利用了Eclipse JDT(Java Development Tooling)

代码生成包括三个级别:
1. Model
提供model中所有class和interface的实现类,加上factory和package(meta data)实现类
2. Adapters
生成用于编辑和显示model class的实现类,这些实现类成为ItemProviders
3. Editors
生成正确的结构化的Editor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值