- 浏览: 2447410 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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查询
★simple attribute没什么好说的,是最基本的类型,与单值(single value)的java基本类型(int,boolean,String等)相对应
★data type attribute,所有由emf model生成的类型都是由EObject派生的,不过还有一些类不是从EObject派生的,这时候就需要自定义一个Ecore Date Type 和我们要使用的类型对应,在这里定义的data type只是起符号的作用,在使用的时候跟simple data没什么区别,在运行的时候将作为一个实际java类型的代理存在,在emf model中,所有的类型都是EDataType的一个实例,与基本类型不同在于,int,boolean,String是emf model预定义的(java.util.Date也是基本类型,而java.sql.Date不是),对于自定义的data type来说,还存在一个问题,就是序列化(或反序列化)的时候,需要将自定义的类型串行化成string(或反之),默认会调用toString方法,但是emf framework提供了更好的方式,即在package的Factory类中增加了两个方法convertXxxxToString(EDataType eDataType, Object instanceValue) 和createXxxxFromString(EDataType eDataType, String initialValue) ,我们可以替换里面的默认做法使用自己的实现,因此每次增加一个自定义的DataType类型的时候,我们也要在factory中重新实现这两个方法。
★在annotated java中无须定义Data Type接口,emf generator会根据相关attribute在Package和Factory类中添加与EDataType相关的内容。
★enumeration attribute,attribute表示类型、状态的时候一般采用枚举类型属性。因为生成的enumeration 类都有一个private的构造函数,因此可以使用==来比较两个enumeration的异同。同时enumeration还包含一系列int类型的常量来表示每种枚举类型的实际值。
★multi-value attribute 就是对应的get方法返回值是EList(Array)的attribute,如果希望List中的每一个值均唯一,那么需要设置unique为true,一般情况下,我们不使用String[]作为multi-value attribute,这个主要跟notification有关,一般数组只是针对char和byte的情况。
★java.util.List和EList之间的区别是后者多了一个remove()方法
★default value 只有single valued attribute(data type attribute也算一种single valued attribute)才有默认值,默认情况下,boolean是false,数字类型是0,对象类型是null,如果是非string类型的attribute,ecore model将采用factory中的convertStringToXxxx方法将制定的字符串默认值转换成指定的值
★volatile attribute 默认情况下将使用一个field来保存attribute的值,但是volatile类型的属性有些特别,在get的时候它不会采用保存在field中的值而是运行时计算。通常volatile类型的attribute也是non changeable的,因为volitale类型的attribute通常都是通过计算得到,提供setter方法没有 意义,所以在设置volatile为true的时候不要忘了把changeable也设置为false
★non-changeable attribute 默认情况下attribute都是changeable,non-changeable的attribute将不提供setter方法,而对于multi-value attribute属性来说,属性值的内容改变可以通过相应的容器接口来做到,因此setter方法对于multi-value attribute是不会生成的,non-changeable因此对该类属性也是没有意义的
★unsettable attribute 有时候我们希望某个属性处于未设置值的状态,这种状态跟初始化设置的默认值不同(默认情况下,我们会认为属性未设置和属性为默认值两种状态是一样的),当unsettable为ture时,emf generator会追踪指定attribute的设置状态,是未设置,还是已被设置,同时还提供了unsetXxxx()方法来将attribute恢复到未设置状态。对于multi-valued attribute则将unsettable相关的工作交给InternalEList.Unsettable处理,使用unsettable所带来的一个后果就是因为需要相应的属性来保留状态,因此生成的类会比较大。
★data type attribute,所有由emf model生成的类型都是由EObject派生的,不过还有一些类不是从EObject派生的,这时候就需要自定义一个Ecore Date Type 和我们要使用的类型对应,在这里定义的data type只是起符号的作用,在使用的时候跟simple data没什么区别,在运行的时候将作为一个实际java类型的代理存在,在emf model中,所有的类型都是EDataType的一个实例,与基本类型不同在于,int,boolean,String是emf model预定义的(java.util.Date也是基本类型,而java.sql.Date不是),对于自定义的data type来说,还存在一个问题,就是序列化(或反序列化)的时候,需要将自定义的类型串行化成string(或反之),默认会调用toString方法,但是emf framework提供了更好的方式,即在package的Factory类中增加了两个方法convertXxxxToString(EDataType eDataType, Object instanceValue) 和createXxxxFromString(EDataType eDataType, String initialValue) ,我们可以替换里面的默认做法使用自己的实现,因此每次增加一个自定义的DataType类型的时候,我们也要在factory中重新实现这两个方法。
★在annotated java中无须定义Data Type接口,emf generator会根据相关attribute在Package和Factory类中添加与EDataType相关的内容。
★enumeration attribute,attribute表示类型、状态的时候一般采用枚举类型属性。因为生成的enumeration 类都有一个private的构造函数,因此可以使用==来比较两个enumeration的异同。同时enumeration还包含一系列int类型的常量来表示每种枚举类型的实际值。
★multi-value attribute 就是对应的get方法返回值是EList(Array)的attribute,如果希望List中的每一个值均唯一,那么需要设置unique为true,一般情况下,我们不使用String[]作为multi-value attribute,这个主要跟notification有关,一般数组只是针对char和byte的情况。
★java.util.List和EList之间的区别是后者多了一个remove()方法
★default value 只有single valued attribute(data type attribute也算一种single valued attribute)才有默认值,默认情况下,boolean是false,数字类型是0,对象类型是null,如果是非string类型的attribute,ecore model将采用factory中的convertStringToXxxx方法将制定的字符串默认值转换成指定的值
★volatile attribute 默认情况下将使用一个field来保存attribute的值,但是volatile类型的属性有些特别,在get的时候它不会采用保存在field中的值而是运行时计算。通常volatile类型的attribute也是non changeable的,因为volitale类型的attribute通常都是通过计算得到,提供setter方法没有 意义,所以在设置volatile为true的时候不要忘了把changeable也设置为false
★non-changeable attribute 默认情况下attribute都是changeable,non-changeable的attribute将不提供setter方法,而对于multi-value attribute属性来说,属性值的内容改变可以通过相应的容器接口来做到,因此setter方法对于multi-value attribute是不会生成的,non-changeable因此对该类属性也是没有意义的
★unsettable attribute 有时候我们希望某个属性处于未设置值的状态,这种状态跟初始化设置的默认值不同(默认情况下,我们会认为属性未设置和属性为默认值两种状态是一样的),当unsettable为ture时,emf generator会追踪指定attribute的设置状态,是未设置,还是已被设置,同时还提供了unsetXxxx()方法来将attribute恢复到未设置状态。对于multi-valued attribute则将unsettable相关的工作交给InternalEList.Unsettable处理,使用unsettable所带来的一个后果就是因为需要相应的属性来保留状态,因此生成的类会比较大。
发表评论
-
Java程序员25个必备的Eclipse插件
2012-01-12 22:36 21876原文:http://www.fromdev.com/2012/ ... -
关于插件更新安装的错误
2007-12-21 20:12 2179在更新插件的时候出现这样的错误: Unable to comp ... -
最近做eclipse branding, features的一些经验
2007-12-16 01:24 4464知道eclipse的splash怎么做 ... -
GEF学习笔记
2007-12-07 20:20 4116GEF以前学习过, 而且还 ... -
SWT布局深入学习
2007-11-30 23:00 7903以下内容是学习"The Definitive Gui ... -
Eclipse Action 深入学习笔记(3)
2007-11-25 17:59 4040filter元素是用来指定当 ... -
Eclipse Action 深入学习笔记(2)
2007-11-25 17:14 5147Object Action 这种Action是跟弹出的上下文菜 ... -
Eclipse Action 深入学习笔记(1)
2007-11-25 17:07 7621以前做插件用到的ActionSet都只是依葫芦画瓢,没有真正理 ... -
JFace Text Editor完全掌握之终极指南(4)
2007-11-24 17:08 5625错误标识(Error Marking) Error Marki ... -
JFace Text Editor完全掌握之终极指南(3)
2007-11-24 16:56 5455内容大纲 之所以要给编 ... -
JFace Text Editor完全掌握之终极指南(2)
2007-11-24 16:53 6678最后一步就是实现各种功能 语法高亮 首先我们要实现的是语法高亮 ... -
JFace Text Editor完全掌握之终极指南(1)
2007-11-24 16:17 9931JFace Text Editor是JFace里面一个功能强大 ... -
最近的Eclipse plugin开发总结
2007-11-24 11:30 4895List控件没有提供addDblClickListener方法 ... -
eclipse3.3关于JavaFileEditorInput兼容性问题的解决
2007-11-24 11:22 4637在eclipse3.3中,JavaFileEditor ... -
Eclipse WTP Projects Facets实战指南(2)
2007-11-21 21:13 5202修饰工作 给facet在选择列表中添加图标 格式如下: xml ... -
Eclipse WTP Projects Facets实战指南(1)
2007-11-21 20:21 9543这个文章基本是"Building Project F ... -
也说关于WizardPage的动态生成
2007-11-05 14:26 5124在Eclipse中一个Wizard=Wiza ... -
关于多页编辑器中不同Editor之间的Redo&Undo冲突的解决
2007-09-03 15:17 4030在我们的插件工具的开 ... -
TextEditor原理分析笔记
2007-08-23 15:48 3348Editor的语法着色原理:Eclipse使用damage , ... -
最近的Eclipse开发总结
2007-08-23 15:46 2033java.lang.IllegalAccessError: t ...
相关推荐
很全的使用eclipse模型框架资料,帮大家排除开发过程中的难题,一些经验的总结。希望对大家有帮助
包含3个文件: 微软emf文件格式详解.pdf emf.hlp (Enhanced Metafiles in Win32) emfexplorer_src.zip
一个好的项目管理人员决定了一个项目的成功与否,如果pm做不好,导致项目失败是很容易的。所以PM的责任和压力还有任务是很重的,做一个合格的PM很不容易啊,项目成功率很重要。好好学习。
文件格式 EMF (Enhanced MetaFile) ——是在印刷工业中应用与Windows操作系统的文件格式。实际上EMF是原始WMF(Windows metafile)格式的32位版本。EMF格式的产生是为了解决WMF在印刷行业中的不足。EMF是设备独立性...
Eclipse Modeling Framework (EMF)是Eclipse 的一个基于Java语言的模型构建框架,它通过提供通用 的模型框架和自动代码生成工具,极大地简化了基于结 构化模型的Eclipse插件或者应用程序的开发
java开发工具EMF插件
Eclipse Modeling Framework (EMF) 开发指南
eclipse插件, EMF api 文档,eclipse插件, EMF api 文档
java EMF,图形开发框架。也可用作eclipse的插件开发.
matlab开发-renderTex2Emf。用于将乳胶字符串转换为EMF文件
基于eclipse的EMF图形化编辑程序开发,要努力看哦!
EMF读取XML
EMF:增强型图元文件 “增强型图元文件”是 32 位格式,可以同时包含矢量信息和位图信息。此格式是对“Windows 图元文件格式”的改进,包含了一些扩展功能,例如,下面的功能:内置的缩放比例信息 · 与文件一起...
EMF 自学笔记
著名的IBM红皮书系列,包含原版和中文版 适合不同人群
emf文件是windows的一种打印格式,该资源可以对emf文件进行文本提取和推送打印机打印以及转换成图像
emf的SDK,用于EMF的开发!懂的下吧!
矢量格式转换程序,基于JAVA实现的SVG转EMF的的示例代码,下载后导入到eclipse即可运行。
emf转bmpemf