- 浏览: 2473583 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
★emf的command framework分为两部分,一部分是common的不依赖于emf.edit的command,另一个部分是和emf.edit关联的command,和emf.edit关联的command,通过EObject的相关方法来实现对model的attribute设置,reference修改,copy&paste操作等。
★在command command中,提供了一个Command接口,里面的方法包括execute(), undo(),redo(),canExecute(), canUndo()等等。其中getResult()方法的作用一般是用来告诉后续的command,当前操作的结果,这个在组合command中会用到,而getAffectedObject()方法则用来取得受execute(), redo(), undo()方法影响的对象,这个方法通常在emf.edit的ui framework中使用,比如一个属性被修改之后,其他受影响的属性也响应发生修改了,则ui对被修改的属性使用不同的颜色来加以标识(比如高亮),则两个方法返回的结果有时候会是一样的。
★从Command继承而来的AbstractCommand做的一件非常重要的事情就是实现了canExecute()方法,同时让从AbstractCommand继承的子类去实现prepare()方法来决定是否可执行,从而保证canExecute()最终只会被执行一次prepare()来做判断command是否能执行
★CommandStack主要在undo,redo的时候使用,它使用一个stack来维护所有可undoable的command,可以给commandstack添加一个CommandStackListener,那么stack中的所有command在被调用的时候都会出发该listener。BasicCommandStack是CommandStack的一个简单实现
★CompoundCommand用来一次执行多个command,它提供了一些特殊的操作,比如appendAndExecute(),该方法可以很好的将已执行的command加以记录下来,这样我们在undo的时候,直接倒过来执行commandlist中的每一个command即可,实际上其他的command也会在execute()方法里面这么干,另外一个方法就是unwrap(),如果你的compound command只有一个command的时候,该方法会起到一定的优化作用。
★Set,Add,Remove,Move,Replace以及CopyCommand都是和emf.edit关联的基本command,不过CopyCommand实际上是一个Compound Command,它结合了CreateCopyCommand和InitinalizeCopyCommand。对这些基本command加以组合便可以形成其他更高级的command,比如CreateChildCommand(AddCommand+SetCommand),CutToClipboardCommand(RemoveCommand),PasteFromClipboardCommand(AddCommand+CopyCommand),DragAndDropCommand(CopyCommand+RemoveCommand+AddCommand)等等。
★AbstractOverrideableCommand解决了一个代理的问题,不过还没明白有什么用
★CommandParameter用来封装创建command所需要的参数,通过参看EditingDomain的createCommand方法实现我们可以得知,通过反射得到要创建的Command Class,接着根据约定:每一种Command必须提供相应的静态创建方法create来生成对应的Command实例
★model如何显示交给Label Provider来管理,而对model的维护则交给了EditingDomain,该实现主要做三件事:创建command,维护undo command stack,对编辑的resource提供访问接口。
★IEditingDomainItemProvider是用来访问model的层次关系的接口(Editing Domain也实现了这些方法,因此后者会调用前者的实现)。而IEditingDomainItemProvider的实现则是通过ItemProvider来取得
★ItemProviderAdapter也提供了一个根据editing domain, commandparameter创建command的createCommand()方法。它和AdapterFactoryEditingDomain的实现基本一样。
★在command command中,提供了一个Command接口,里面的方法包括execute(), undo(),redo(),canExecute(), canUndo()等等。其中getResult()方法的作用一般是用来告诉后续的command,当前操作的结果,这个在组合command中会用到,而getAffectedObject()方法则用来取得受execute(), redo(), undo()方法影响的对象,这个方法通常在emf.edit的ui framework中使用,比如一个属性被修改之后,其他受影响的属性也响应发生修改了,则ui对被修改的属性使用不同的颜色来加以标识(比如高亮),则两个方法返回的结果有时候会是一样的。
★从Command继承而来的AbstractCommand做的一件非常重要的事情就是实现了canExecute()方法,同时让从AbstractCommand继承的子类去实现prepare()方法来决定是否可执行,从而保证canExecute()最终只会被执行一次prepare()来做判断command是否能执行
★CommandStack主要在undo,redo的时候使用,它使用一个stack来维护所有可undoable的command,可以给commandstack添加一个CommandStackListener,那么stack中的所有command在被调用的时候都会出发该listener。BasicCommandStack是CommandStack的一个简单实现
★CompoundCommand用来一次执行多个command,它提供了一些特殊的操作,比如appendAndExecute(),该方法可以很好的将已执行的command加以记录下来,这样我们在undo的时候,直接倒过来执行commandlist中的每一个command即可,实际上其他的command也会在execute()方法里面这么干,另外一个方法就是unwrap(),如果你的compound command只有一个command的时候,该方法会起到一定的优化作用。
★Set,Add,Remove,Move,Replace以及CopyCommand都是和emf.edit关联的基本command,不过CopyCommand实际上是一个Compound Command,它结合了CreateCopyCommand和InitinalizeCopyCommand。对这些基本command加以组合便可以形成其他更高级的command,比如CreateChildCommand(AddCommand+SetCommand),CutToClipboardCommand(RemoveCommand),PasteFromClipboardCommand(AddCommand+CopyCommand),DragAndDropCommand(CopyCommand+RemoveCommand+AddCommand)等等。
★AbstractOverrideableCommand解决了一个代理的问题,不过还没明白有什么用
★CommandParameter用来封装创建command所需要的参数,通过参看EditingDomain的createCommand方法实现我们可以得知,通过反射得到要创建的Command Class,接着根据约定:每一种Command必须提供相应的静态创建方法create来生成对应的Command实例
★model如何显示交给Label Provider来管理,而对model的维护则交给了EditingDomain,该实现主要做三件事:创建command,维护undo command stack,对编辑的resource提供访问接口。
★IEditingDomainItemProvider是用来访问model的层次关系的接口(Editing Domain也实现了这些方法,因此后者会调用前者的实现)。而IEditingDomainItemProvider的实现则是通过ItemProvider来取得
★ItemProviderAdapter也提供了一个根据editing domain, commandparameter创建command的createCommand()方法。它和AdapterFactoryEditingDomain的实现基本一样。
发表评论
-
Java程序员25个必备的Eclipse插件
2012-01-12 22:36 21935原文:http://www.fromdev.com/2012/ ... -
关于插件更新安装的错误
2007-12-21 20:12 2216在更新插件的时候出现这样的错误: Unable to comp ... -
最近做eclipse branding, features的一些经验
2007-12-16 01:24 4548知道eclipse的splash怎么做 ... -
GEF学习笔记
2007-12-07 20:20 4159GEF以前学习过, 而且还 ... -
SWT布局深入学习
2007-11-30 23:00 7944以下内容是学习"The Definitive Gui ... -
Eclipse Action 深入学习笔记(3)
2007-11-25 17:59 4086filter元素是用来指定当 ... -
Eclipse Action 深入学习笔记(2)
2007-11-25 17:14 5217Object Action 这种Action是跟弹出的上下文菜 ... -
Eclipse Action 深入学习笔记(1)
2007-11-25 17:07 7670以前做插件用到的ActionSet都只是依葫芦画瓢,没有真正理 ... -
JFace Text Editor完全掌握之终极指南(4)
2007-11-24 17:08 5675错误标识(Error Marking) Error Marki ... -
JFace Text Editor完全掌握之终极指南(3)
2007-11-24 16:56 5504内容大纲 之所以要给编 ... -
JFace Text Editor完全掌握之终极指南(2)
2007-11-24 16:53 6732最后一步就是实现各种功能 语法高亮 首先我们要实现的是语法高亮 ... -
JFace Text Editor完全掌握之终极指南(1)
2007-11-24 16:17 9996JFace Text Editor是JFace里面一个功能强大 ... -
最近的Eclipse plugin开发总结
2007-11-24 11:30 4941List控件没有提供addDblClickListener方法 ... -
eclipse3.3关于JavaFileEditorInput兼容性问题的解决
2007-11-24 11:22 4673在eclipse3.3中,JavaFileEditor ... -
Eclipse WTP Projects Facets实战指南(2)
2007-11-21 21:13 5255修饰工作 给facet在选择列表中添加图标 格式如下: xml ... -
Eclipse WTP Projects Facets实战指南(1)
2007-11-21 20:21 9587这个文章基本是"Building Project F ... -
也说关于WizardPage的动态生成
2007-11-05 14:26 5157在Eclipse中一个Wizard=Wiza ... -
关于多页编辑器中不同Editor之间的Redo&Undo冲突的解决
2007-09-03 15:17 4060在我们的插件工具的开 ... -
TextEditor原理分析笔记
2007-08-23 15:48 3381Editor的语法着色原理:Eclipse使用damage , ... -
最近的Eclipse开发总结
2007-08-23 15:46 2117java.lang.IllegalAccessError: t ...
相关推荐
此外,本文档还将详细介绍EMF开发指南之Command Framework、Item Provider、Editor、属性详解、Attribute详解、Reference详解、客户端编程等方面的内容。 本文档旨在为读者提供一个详细的eclipse插件开发经验总结,...
EMF(Eclipse Modeling Framework)是Eclipse基金会提供的一款强大的模型化开发框架,主要用于构建基于模型的应用程序。它建立在Java平台上,为开发者提供了一种高效的方法来处理复杂的软件建模任务,支持元数据驱动...
总之,Eclipse Modeling Framework(EMF)提供了一套强大的工具和API,帮助开发者构建基于模型的软件系统,简化了开发过程,并提高了代码的可维护性和可扩展性。通过Eclipse插件形式提供的最新emf-runtime版本2.10.1...
《EMF Eclipse Modeling Framework》第二版是由 Dave Steinberg、Frank Budinsky、Marcelo Paternostro 和 Ed Merks 四位专家编写的权威指南。本书是针对 Eclipse 建模框架(EMF)的全面修订版本,为读者提供了深入...
2. **EMF.Edit**:这部分建立在Ecore之上,提供了一组用于查看和修改模型的方法,还包括了一个内置的模型编辑器,使得开发人员可以直接在Eclipse环境中对模型进行操作。 #### EMF的适用场景 EMF非常适合于那些需要...
**EMF Framework Programmer's Guide** 部分为开发人员提供了深入理解 EMF 核心框架所需的知识。这部分涵盖了如何定义 EMF 模型、模型的实现方式以及如何使用这些模型进行数据存储和读取等内容。 - **定义 EMF 模型...
EMF(Eclipse Modeling Framework)是一种基于Eclipse的模型驱动架构(MDA)工具,用于构建复杂的模型驱动应用程序。EMF提供了一种通用的模型驱动架构,允许开发人员使用统一的模型定义语言(MDL)定义模型,并生成...
《Eclipse开发使用GEF和EMF》是IBM红皮书系列中的一部经典著作,主要探讨了如何在Eclipse环境中利用GEF(图形编辑框架)和EMF( Eclipse模型框架)进行图形化应用程序的开发。这两项技术是Eclipse平台上的核心组件,...
EMF(Eclipse Modeling Framework)是Eclipse平台上用于构建模型驱动软件开发工具的核心框架。它基于MDE(Model Driven Engineering)理念,提供了一种强大的方式来定义、创建和操作复杂的模型。本资源是《EMF:...
Java开发工具EMF插件是Java开发者在进行模型驱动工程(Model Driven Engineering,MDE)时常用的一个强大工具。EMF(Eclipse Modeling Framework)是Eclipse IDE的一部分,它提供了一种框架和API,用于构建基于模型...
**与其他Eclipse组件集成**:EMF与Eclipse的其他组件如PDE(Plug-in Development Environment)、JDT(Java Development Tools)和gef(Graphical Editing Framework)等有良好的集成,可以方便地构建复杂的开发环境...
在本文中,我们将深入探讨如何基于Eclipse的EMF(Eclipse Modeling Framework)插件来开发图形化编辑程序。EMF是Eclipse平台的核心部分,它提供了一套强大的工具和库,用于构建模型驱动的软件应用程序。让我们一起...
Java EMF,全称为“Eclipse Modeling Framework”,是Java平台上的一款强大的模型驱动工程(Model Driven Engineering, MDE)框架,也是Eclipse IDE中的一个重要组成部分。EMF为开发者提供了构建和使用模型化软件的...
EMF.Eclipse Modeling Framework.2nd 第二版,part1
EMF.Eclipse Modeling Framework.2nd part2 第二版 part2
EMF.Eclipse Modeling Framework.2nd part3 第二版,part3