
EMF
文章平均质量分 73
yiliner
这个作者很懒,什么都没留下…
展开
-
《EMF:A Developer's Guide》读书笔记第一章:Eclipse概述
Eclipse是一个开源软件项目,它的目标是提供最好的工具集成平台。Eclipse软件具有Common Public License,就是说你可以使用、修改其中的代码,可以重新发布为free版本,也可以作为私有项目的一部分。 Eclipse项目分为三个子项目:Eclipse项目,Tools项目和Technology 项目。 Eclipse项目:主要包括Ec...2008-06-19 09:03:09 · 192 阅读 · 0 评论 -
如何显示PropertySheet视图
前面的几篇是读了《EMF:A Developer's Guide》一书前三章的读书笔记,我觉得这三章的内容是最重要的,介绍了EMF Framework的一些设计、结构以及实现的问题。但是这些只是一些原理性的东西,要熟练掌握EMF的方法是在项目中应用它,我们可以从修改EMF生成的代码入手。EMF生成的编辑器是MultiPageEditor,比较复杂,我们可以参考它自己写一个普通的Editor,在这个...原创 2008-07-15 17:38:39 · 1303 阅读 · 0 评论 -
在EMF中为一个对象树添加统一的事件响应
在EMF中进行模型对象通知的时候,有时候不仅仅模型对象改变时需要得到通知,模型对象的子对象(通过Containment关系包含起来的)发生改变的时候,也希望能够得到同样的通知。简单的实现方式可以创建一个Adapter,通过递归的方式将其注册在这个模型对象树的每一个节点对象上,但是那样做比较复杂,要同时处理添加和删除Adapter的工作。 在EMF中提供了变通的方式,可以使用EContentAd...原创 2008-07-11 11:36:44 · 139 阅读 · 0 评论 -
一个emf新手的学习笔记 --EMF 生成的代码阅读笔记(二)
一个emf新手的学习笔记 --EMF 生成的代码阅读笔记(二)EMF不光为我们生成了模型类的代码。还为我们提供了一个默认的模型编辑器。要看到这个模型编辑器我们只需要运行一下就可以看到了(用Eclipse Application的方式)。共有三个部:1. 编辑器的主体。包括六种呈现方式。a) Selection.b) Parent.c) List.d) ...原创 2008-07-11 11:20:04 · 567 阅读 · 0 评论 -
一个emf新手的学习笔记 --EMF 生成的Model Code阅读笔记(一)
一个emf新手的学习笔记 --EMF 生成的Model Code阅读笔记(一)在八进制的中讲述了从模型到应用程序的生成过程。我通过类似的方法生成了一个应用程序。代码生成后,我就想看看EMF为我生成了什么样的代码。我如果需要修改的话该如何修改。我的“Hellow world”是采用的“Using EMF”文中的模型。根据这个模型建立了一个EMF Model:根据这个模型生成model class...原创 2008-07-11 11:18:52 · 819 阅读 · 0 评论 -
关于EMF中xml文件的压缩及加密的问题
帮忙看看下面有关压缩及加密的问题,实在找不出原因,折腾了一整天了,请哪位知道的点拨一下可能的原因,小弟感激不尽!!Map options = new HashMap();options.put(XMIResource.OPTION_ENCODING, "UTF-8");options.put(XMIResource.OPTION_ZIP, Boolean.TRUE);options.put(Res...原创 2008-07-11 11:16:12 · 360 阅读 · 0 评论 -
请问(EMF):如何在Editor 中得到模型中的类的实例?
比如我的模型中有一个Class叫 Enumeration, 它在我的程序中实际上是整个模型的根.现在我需要在由EMF生成的Editor中得到该类的实例,不如该如何实现?比如我可以通过XXXPackage.eINSTANCE.getEnumeration() 得到 其对应的Eclass,不过不知道如何得到其对应的Eobject?或者有什么其它的方法实现我的需要?1.可以用以下代码得到根:(Reso...原创 2008-07-11 11:14:42 · 196 阅读 · 0 评论 -
在EMF中如何加密解密XML文件?
EMF保存数据都是通过Resource来保存的,Resource的接口有个load 和save方法load(Map options)save(Map options)这个map是需要你设置一些选项,例如Map options= new HashMap();map.set(Resource.OPTION_ZIP,"true");resource.save(options);那么保存后的文件就是压缩格...原创 2008-07-11 10:52:30 · 205 阅读 · 0 评论 -
XSD to Ecore connection Mapping
XSD to Ecore connection Mapping关键字: xsd emf ecore 在MBI的intern主题就是做关于Model driven的工作,其中大部分是插件、rcp的开发,用的技术也主要是EMF,GEF和GMF。其中,EMF是基础,领域模型总是要放在最前面。EMF的对建模提供了好几种方式,用UML工具、java annotation,xmi,xsd等。当然,用U...原创 2008-07-09 17:13:37 · 191 阅读 · 0 评论 -
EMF中的ecore模型分析
ecore模型分析 目前生成ecore模型主要由四种途径,如图: 这里我们采用从UML Model产生ecore模型,首先用Rose设计包emf,然后在包中新建如下类图: 生成的ecore模型如下 <?xml version="1.0" encoding="UTF-8"?><ecore:EPackage xmi:version="2.0" ...2008-06-20 11:00:54 · 1302 阅读 · 0 评论 -
EMF中“粘合”Java,XML和UML
Eclipse Modeling Framework(EMF) “粘合”Java,XML和UML 为了更好的理解EMF,我们举一个简单例子。假如让你写个程序来管理某个厂商的顾客信息(Customer),每个顾客都有一个姓名(name)和一些订单(orders),同时每个订单(Order)都有一个编号(id)和价格(price),为此我...2008-06-20 10:46:39 · 171 阅读 · 0 评论 -
EMF的一些总结(2)——关于EMF的序列化
关于EMF的序列化对于EMF的序列化有几个比较重要的接口:Resource,ResourceSet,Resource.Factory,URIConverter。这些接口的主要作用就是保存模型到持久化存储介质,或者从持久化存储介质加载模型。1.关于URI(Uniform Resource Identifier)在EMF 中是通过URI来标识package的,并且同过URI来唯一的确定resource...2008-06-19 17:44:14 · 507 阅读 · 0 评论 -
《EMF:》读书笔记第三章 :Model Editing with EMF.Edit(上)
本书的第二章介绍了EMF产生的Model部分的代码,你可以使用EMF EditFramework来为model构建功能强大的视图和编辑器。在EMF为你生成的编辑器里,可以编辑(复制,粘贴,拖拽等)、显示model,还可以无限的redo/undo。如果这个编辑器不能完全满足你的需求,你可以在此基础上做一些修改,肯定比从头开始写节约时间。 Eclipse通过JFace中的一些Viewer来...2008-06-19 09:44:15 · 239 阅读 · 0 评论 -
《EMF:A Developer's Guide》读书笔记第二章 :EMF简介(上)
1.EMF的元模型Ecore 我们通常所说的模型(Model)是指应用程序更高层次的描述,通过它可以生成部分甚至全部的实现代码,可以由UML等标准的方法来定义。EMF(Eclipse Modeling Framework)中的模型层次没有这么高,它和实现直接关联。 EMF是一个可以产生代码的框架,你可以通过UML类图、XML Schema、JavaInterface等任...2008-06-19 09:15:24 · 291 阅读 · 0 评论 -
《EMF:A Developer's Guide》读书笔记第二章 :EMF简介(下)
EMF Framework提供了模型变化通知、持久化支持、操纵EMF对象的反射API等功能来帮助用户提高工作效率,下面分别详细介绍一下。 1.Notification and Adapter EMF生成的每一个类还是一个Notifier类型,因此当它的属性或者引用改变的时候可以发出通知。这是一个很重要的性质,通过监听EObject的变化可以及时地更新视图或者与之相关联的对象。...2008-06-19 09:13:39 · 272 阅读 · 0 评论 -
如何显示Outline视图
上个帖子介绍了如何显示PropertySheet视图,这里继续介绍如何显示Outline视图,还是只关心与显示大纲视图相关的代码:public class MySchoolEditor extends EditorPart implements ISelectionListener { ... protected IContentOutlinePage contentOutlin...原创 2008-07-15 17:39:37 · 1111 阅读 · 0 评论