|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.
简介:本文基于EMF(EclipseModelingFramework)模子反射机制,完成了一种EMF模子对象对照的办法,并展现怎样利用该算法得出对象的婚配水平。起首设定对象的待对照字段列表。对个中的每一个字段,猎取并对照对象的字段值。在对照的过程当中,该算法将组合数据范例(如自界说类、列表)的对照分化为其子数据范例的对照。模子对照的了局是一个差别项列表,作为后续使用的基础,能够被用于版本把持、模子导进/导出等场景中。
EMF和Ecore简介
EclipseModelingFramework(EMF)是一个开放源代码的模子驱动使用程序开辟框架。它能够基于XMLSchema、UML或带有模子特性正文的Java接口,创立Java代码,完成图形化的数据编纂、利用、读取和序列化。EMF是IBMWebSphereStudio和Eclipse项目中良多工具的基本。
Ecore元模子是EMF框架的中心,它形貌EMF模子而且供应模子的运转时撑持,包含:模子修正关照,以默许的XMI序列化供应EMF的耐久化撑持,以及通用于操纵EMF对象的高效反射API。本文恰是使用EMF的反射API读取EMF对象的值,在此基本上完成EMF对象的对照。
.Ecore范例树
为Ecore的范例树。图中灰色添补背景暗示在EMF框架中,该接口的完成类为笼统类,黄色添补背景的接口有非笼统的完成类。对图中与本文相干的范例先容以下:
EAttribute:用来形貌一个属性,它具有一个名字和范例。EAttribute形貌复杂数据,它由一个EDataType来指定。
EClass:是EMF对象的元范例,用来形貌建模模子。它以属性(EAttribute)和援用(EReference)形貌建模类的字段(Field)。相似Java的Object.getClass()失掉的Class,挪用EObject对象的eClass()办法能够失掉EClass。
EDataType:用来形貌一个属性的范例,这个属性必需是复杂数据范例,包含基础(primitivetype)数据范例如:int,一个Java范例如String,也能够是一个数组。
EFactory:为一个笼统工场,它包括创立建模对象的办法。
EObject:由可见,EObject为一切EMF建模对象的基范例(或称超范例),在EMF框架内相似于java.lang.Object。为了区分于用户建模中的方法名,EObject接口中所界说的办法名都以"e"开首。如eClass()办法前往一个EMF对象的元模子(EClass)。
EPackage:在Ecore中,EPackage包括关于模子类(EClass)和数据范例(EDataType)的信息,怎样失掉EPackage的实例和失掉模子类的信息在前面将具体先容。
EReference:用来形貌类之间的联系关系干系,EReference着名称;一个形貌包含干系的布尔标记位(包括与反对定这两个范例之间的干系是聚合(Aggregation)大概组合(Compostition));一个reference(方针)类型,用来指定干系的范例,因为联系关系干系是两个范例之间的干系,以是EReference老是指向组合数据范例。
EStructureFeature:是EReference和EAttribute的配合超类。在了解上能够将其作为字段(Field)。由于EStructuralFeature的完成是笼统类,所以失掉的EStructuralFeature对象必定是EAttribute大概EReference范例的实例。
<p>
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的 |
|