- 浏览: 2473718 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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查询
★changeable:boolean值,指定属性值是否可设置
★transient:boolean值,指定属性值在序列化的时候是否可被忽略
★unique:boolean值,该属性在multipilicity-many(不知道怎么翻译)的情况下才有意义,它用来表示一个值在同类型对象实例中是否只存在一个相同的值
★unsettable:当设置了该属性的时候,我们还需要使用另外一个属性值,即unset,该属性就是用来告诉emf,我们是否需要使用unset这个属性。
★volatile:boolean值,表明该属性值是否直接进行存储,这种情况一般发生在当前属性值是由其他属性计算而来的时候,此时该属性的set方法可能需要我们自己实现,而不是由emf generator生成的。
★还有几个与数量相关的属性:lowerbound,最小值,只能是0和正整数,upperbound,最小值,大于或等于最小值,如果是unbounded的话(极大值),可以设置为-1(相当于模型中的*)
★structrual feature的默认值:booelan类型的为false, integer的为0
★虽然采用不同的模型工具也可以生成emf model,但是总是会存在这样和那样的问题,比如有的虽然能建模总是和emf,gef,eclipse的版本相关,不同的版本会出现一些莫名其妙的问题最终让你死的很惨(我在这个上面花了太多的时间,推荐eclipse3.2.1+emf2.2.1,最新的会有问题),而使用annotated java interface则会消除这些问题,所谓强烈推荐采用annotation的方式生成emf model,不过它唯一比较麻烦的就是,你必须熟练掌握各种annoation的用法。
★一般情况下,我们不需要针对package来定义接口,除非我们需要对EPackage的一些属性进行复写(有几个final的属性eName,eNS_URI,eNS_Perffix),但是在下面两种情况下,我们也需要进行自定义:如果需要显示定义EDataType以及显示定义一个map entity。
★class的接口定义,就是一般的接口定义加上@model annotation,attribute和reference的定义通过在get()方法上指定相应的annotation,operation则使用其他的方法定义。
★class的model属性主要包括abstract和interface,用来指明定义的class是否是抽象类和接口,都是boolean值
★class中的attribute的设置,只有符合以下条件下才能被emf generator识别为一个attribute:必须带有一个@model的annotation,且跟随后面的属性不能带有parameters属性;方法名必须以get或者is开头,紧随其后的必须为大写字母开头的属性名;还有一点就是方法返回的类型不能和EClass相关(如果返回类型是List或EList,那么里面的类型必须通过@model之后的type属性加以指定,否则,EAttribute的eType要设置为对应的EDataType类型)
★class中的reference的设置,只有符合以下条件才能被emf generator识别为一个reference:必须带有@model的annotation,且跟随后面的属性中不能带有parameters属性;方法名必须以get开头,紧随其后的必须为大写字母开头的属性名;返回的类型必须和EClass相关
★class中的operation的设置,只有符合以下条件才能被emf generator识别为一个operation:必须带有@model的annotation;@model带有一个parameters属性,如果方法名的定义不符合attribute和reference的方法名定义可不用带parameters属性,但是如果参数类型必须使用指定的EDataType,则必须带paramters加以指定。
★枚举值的定义,在class的定义中,每一个int值的定义,如果使用了@model annotation,那么将被emf generator解析成一个枚举值,如果你不希望使用emf 生成的枚举名称(通常就是定义的那个属性名),可以通过@model后面的name属性加以指定
★自定义类型的定义,一般情况下,我们无须显式的自定义Data Type,emf会根据attribute和operation中用到的数据类型在EPackage中添加相关的自定义Data Type类型。有时候为了给一种类型提供指定的序列化处理方式,需要自己写Data Type,为了自定义一个Data Type,具体步骤如下:方法名已get打头;在方法注释中添加@model;getter方法返回类型为Data Type;注释的属性中包含instanceClass用来指定实际的java class 或者interface,还有一个属性是serializable。
★用户描述core model结构的元数据模型(metamodel)称之为Ecore,同时我们又用它来描述实际应用中的数据模型,因此Ecore又被称之为应用元数据模型的元数据模型(meta-metamodel)
★transient:boolean值,指定属性值在序列化的时候是否可被忽略
★unique:boolean值,该属性在multipilicity-many(不知道怎么翻译)的情况下才有意义,它用来表示一个值在同类型对象实例中是否只存在一个相同的值
★unsettable:当设置了该属性的时候,我们还需要使用另外一个属性值,即unset,该属性就是用来告诉emf,我们是否需要使用unset这个属性。
★volatile:boolean值,表明该属性值是否直接进行存储,这种情况一般发生在当前属性值是由其他属性计算而来的时候,此时该属性的set方法可能需要我们自己实现,而不是由emf generator生成的。
★还有几个与数量相关的属性:lowerbound,最小值,只能是0和正整数,upperbound,最小值,大于或等于最小值,如果是unbounded的话(极大值),可以设置为-1(相当于模型中的*)
★structrual feature的默认值:booelan类型的为false, integer的为0
★虽然采用不同的模型工具也可以生成emf model,但是总是会存在这样和那样的问题,比如有的虽然能建模总是和emf,gef,eclipse的版本相关,不同的版本会出现一些莫名其妙的问题最终让你死的很惨(我在这个上面花了太多的时间,推荐eclipse3.2.1+emf2.2.1,最新的会有问题),而使用annotated java interface则会消除这些问题,所谓强烈推荐采用annotation的方式生成emf model,不过它唯一比较麻烦的就是,你必须熟练掌握各种annoation的用法。
★一般情况下,我们不需要针对package来定义接口,除非我们需要对EPackage的一些属性进行复写(有几个final的属性eName,eNS_URI,eNS_Perffix),但是在下面两种情况下,我们也需要进行自定义:如果需要显示定义EDataType以及显示定义一个map entity。
★class的接口定义,就是一般的接口定义加上@model annotation,attribute和reference的定义通过在get()方法上指定相应的annotation,operation则使用其他的方法定义。
★class的model属性主要包括abstract和interface,用来指明定义的class是否是抽象类和接口,都是boolean值
★class中的attribute的设置,只有符合以下条件下才能被emf generator识别为一个attribute:必须带有一个@model的annotation,且跟随后面的属性不能带有parameters属性;方法名必须以get或者is开头,紧随其后的必须为大写字母开头的属性名;还有一点就是方法返回的类型不能和EClass相关(如果返回类型是List或EList,那么里面的类型必须通过@model之后的type属性加以指定,否则,EAttribute的eType要设置为对应的EDataType类型)
★class中的reference的设置,只有符合以下条件才能被emf generator识别为一个reference:必须带有@model的annotation,且跟随后面的属性中不能带有parameters属性;方法名必须以get开头,紧随其后的必须为大写字母开头的属性名;返回的类型必须和EClass相关
★class中的operation的设置,只有符合以下条件才能被emf generator识别为一个operation:必须带有@model的annotation;@model带有一个parameters属性,如果方法名的定义不符合attribute和reference的方法名定义可不用带parameters属性,但是如果参数类型必须使用指定的EDataType,则必须带paramters加以指定。
★枚举值的定义,在class的定义中,每一个int值的定义,如果使用了@model annotation,那么将被emf generator解析成一个枚举值,如果你不希望使用emf 生成的枚举名称(通常就是定义的那个属性名),可以通过@model后面的name属性加以指定
★自定义类型的定义,一般情况下,我们无须显式的自定义Data Type,emf会根据attribute和operation中用到的数据类型在EPackage中添加相关的自定义Data Type类型。有时候为了给一种类型提供指定的序列化处理方式,需要自己写Data Type,为了自定义一个Data Type,具体步骤如下:方法名已get打头;在方法注释中添加@model;getter方法返回类型为Data Type;注释的属性中包含instanceClass用来指定实际的java class 或者interface,还有一个属性是serializable。
★用户描述core model结构的元数据模型(metamodel)称之为Ecore,同时我们又用它来描述实际应用中的数据模型,因此Ecore又被称之为应用元数据模型的元数据模型(meta-metamodel)
发表评论
-
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 7946以下内容是学习"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 5676错误标识(Error Marking) Error Marki ... -
JFace Text Editor完全掌握之终极指南(3)
2007-11-24 16:56 5505内容大纲 之所以要给编 ... -
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 4674在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 3382Editor的语法着色原理:Eclipse使用damage , ... -
最近的Eclipse开发总结
2007-08-23 15:46 2118java.lang.IllegalAccessError: t ...
相关推荐
EMF(Eclipse Modeling Framework)是Eclipse基金会提供的一款强大的模型化开发框架,主要用于构建基于模型的应用程序。它建立在Java平台上,为开发者提供了一种高效的方法来处理复杂的软件建模任务,支持元数据驱动...
**微软EMF文件格式详解.pdf**:这份文档很可能是微软官方或第三方专家提供的关于EMF格式的详细指南。通常,它会涵盖EMF的基本结构、记录类型、图形操作、颜色管理、图元定义等内容。通过阅读这份文档,读者可以了解...
### 微软EMF文件格式详解 #### 一、引言 EMF(Enhanced MetaFile)是一种在Windows操作系统中广泛使用的高级元文件格式。它作为WMF(Windows Metafile)格式的32位增强版,旨在解决WMF在印刷行业中的一些限制。EMF...
基于Eclipse的EMF插件开发程序详解 在本文中,我们将讨论基于Eclipse的EMF插件开发程序的相关知识点。EMF(Eclipse Modeling Framework)是一种基于Eclipse的模型驱动架构(MDA)工具,用于构建复杂的模型驱动应用...
2. **EMF.Edit**:这部分建立在Ecore之上,提供了一组用于查看和修改模型的方法,还包括了一个内置的模型编辑器,使得开发人员可以直接在Eclipse环境中对模型进行操作。 #### EMF的适用场景 EMF非常适合于那些需要...
《Eclipse开发使用GEF和EMF》是IBM红皮书系列中的一部经典著作,主要探讨了如何在Eclipse环境中利用GEF(图形编辑框架)和EMF( Eclipse模型框架)进行图形化应用程序的开发。这两项技术是Eclipse平台上的核心组件,...
理解并熟练使用EMF API文档对于进行Eclipse插件开发至关重要,它可以帮助开发者构建出高效、可维护的模型驱动应用。通过深入学习和实践,开发者能够掌握模型驱动开发的精髓,提升软件开发的效率和质量。
Java开发工具EMF插件是Java开发者在进行模型驱动工程(Model Driven Engineering,MDE)时常用的一个强大工具。EMF(Eclipse Modeling Framework)是Eclipse IDE的一部分,它提供了一种框架和API,用于构建基于模型...
在本文中,我们将深入探讨如何基于Eclipse的EMF(Eclipse Modeling Framework)插件来开发图形化编辑程序。EMF是Eclipse平台的核心部分,它提供了一套强大的工具和库,用于构建模型驱动的软件应用程序。让我们一起...
EMF的官方文档和相关资源可以在Eclipse官方网站上找到,包括用户指南、开发指南和技术文档等。 ##### 1.2 框架基础 **1.2.1 前提条件** - 必须安装Eclipse IDE。 - 推荐熟悉Java编程语言。 - 对面向对象的设计有...
EMF为开发者提供了构建和使用模型化软件的基础设施,使得开发人员可以以模型为中心进行编程,提高代码的可维护性和可复用性。它基于通用建模语言(Unified Modeling Language, UML),但不局限于UML,可以用于创建...
此外,本文档还将详细介绍EMF开发指南之Command Framework、Item Provider、Editor、属性详解、Attribute详解、Reference详解、客户端编程等方面的内容。 本文档旨在为读者提供一个详细的eclipse插件开发经验总结,...
EMF(Eclipse Modeling Framework)是Eclipse基金会推出的一个开源...通过本教程,你将掌握EMF的基本概念和操作,以及如何利用EMF插件提升开发效率。在实践中不断探索,你将能够自如地运用EMF构建复杂的模型驱动系统。
在EMF中,模型通常由包(Package)、类(Class)、属性(Attribute)、引用(Reference)等元素组成。模型定义了数据的结构、关系和行为,它是EMF应用的基础。 开发者可以通过XMI(XML Metadata Interchange)或...
EMF(Eclipse Modeling Framework)开发者指南是一份详细介绍如何使用EMF进行模型驱动开发的文档。这份指南没有中文翻译,但提供了对EMF基础概念、使用方法和高级主题的概述。 EMF是一个Java框架,其核心功能是代码...
**EMF(Eclipse Modeling Framework)详解** EMF(Eclipse Modeling Framework)是Eclipse基金会下的一个开源项目,主要用于构建基于模型的软件开发环境。它为开发者提供了强大的模型化工具和框架,支持元数据驱动...
- EMF还支持插件机制,允许开发人员扩展其功能,如添加验证规则、转换逻辑等。 8. **应用场景** - EMF广泛应用于软件建模、配置管理、数据迁移、集成测试等领域,尤其是在需要处理大量结构化数据的场景下。 总结...