[发明专利]类转换方法和装置在审
| 申请号: | 201511023820.3 | 申请日: | 2015-12-30 |
| 公开(公告)号: | CN106933554A | 公开(公告)日: | 2017-07-07 |
| 发明(设计)人: | 马燕龙 | 申请(专利权)人: | 北京国双科技有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 韩建伟,张永明 |
| 地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 转换 方法 装置 | ||
技术领域
本申请涉及计算机领域,具体而言,涉及一种类转换方法和装置。
背景技术
在实际开发过程中,经常需要做两个类之间的转换,这两个类通常属于不同领域,例如,分别属于数据库和应用程序,或是属于不同的系统等。这两个类的特点在于非常相似,例如,大部分字段和属性名称相似,只有小部分字段和属性不一致,且进行转换时需要专门的转换逻辑。
对于上述情况,一般都是在代码中手动进行两个类之间的转换,分别将一个对象每个属性值赋给另外一个对象对应的属性值。通常,还需要执行两个类之间的反向转换,反向转换代码和正向转换代码十分类似和重复,只是赋值方向发生变化。如果两个类添加新的属性,需要在正向转换和反向转换中同时添加转化代码,也十分相似。这样代码也无法复用,如果有另外两个类同样需要转换,还需要重复写类似代码。
针对相关技术中两个类之间转换操作较为复杂的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种类转换方法和装置,以解决相关技术中两个类之间转换操作较为复杂的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种类转换方法。该方法包括:获取源类对象和目标类对象,其中,源类对象为源类的对象,目标类对象为目标类的对象;获取源类对象和目标类对象之间的映射关系;以及通过类转换器根据映射关系和映射器执行源类对象和目标类对象之间的转换,其中,类转换器中预先封装了类转换方法,映射器中预先封装了类转换规则,类转换方法用于根据类转换规则执行类之间的转换。
进一步地,映射器包括成员映射器和类映射器,其中,成员映射器包括源成员名称和目标成员名称,类映射器包括源类、目标类和成员映射器集合,其中,成员映射器集合中各个元素的类型均为成员映射器的类型。
进一步地,通过类转换器根据映射关系和映射器执行源类对象和目标类对象之间 的转换包括:遍历成员映射器集合,根据成员映射器集合中各个成员映射器的源成员名称获取各个源成员的值;以及根据映射关系和各个成员映射器的目标成员名称将各个源成员的值对应地赋值给各个成员映射器的目标成员。
进一步地,通过类转换器根据映射关系和映射器执行源类对象和目标类对象之间的转换包括:遍历成员映射器集合,根据成员映射器集合中各个成员映射器的源成员名称获取各个源成员的值;分别判断各个成员映射器是否存在成员转换方法;对于判断出存在成员转换方法的成员映射器,调用成员转换方法对成员映射器的源成员的值执行转换,得到转换后的源成员的值,并将转换后的源成员的值赋值给对应的目标成员;以及对于判断出不存在成员转换方法的成员映射器,直接将成员映射器的源成员的值赋值给对应的目标成员。
进一步地,映射器还包括集合成员映射器,集合成员映射器包括源中子成员类型和目标中子成员类型,集合成员映射器继承成员映射器,通过类转换器根据映射关系和映射器执行源类对象和目标类对象之间的转换包括:遍历成员映射器集合,并分别对成员映射器集合中各个成员映射器执行如下操作:根据成员映射器的源成员名称获取源成员的值;判断成员映射器是否是集合成员映射器;在判断出成员映射器不是集合成员映射器时,根据映射关系和成员映射器的目标成员名称将源成员的值对应地赋值给成员映射器的目标成员;在判断出成员映射器是集合成员映射器时,遍历源成员的值中各个源成员子项的值,并分别根据集合成员映射器中各个目标中子成员类型创建各个目标成员子项;以及将各个源成员子项的值对应地赋值给各个目标成员子项。
进一步地,类映射器还预先封装有类映射器反转方法,其中,类映射器反转方法用于执行类映射器的反转,反转后的类映射器用于执行目标类至源类的转换,通过类转换器根据映射关系和映射器执行源类对象和目标类对象之间的转换包括:调用类映射器反转方法,得到反转后的类映射器;以及通过类转换器根据映射关系和反转后的类映射器将目标类对象转换为源类对象。
为了实现上述目的,根据本申请的另一方面,提供了一种类转换装置。该装置包括:第一获取单元,用于获取源类对象和目标类对象,其中,源类对象为源类的对象,目标类对象为目标类的对象;第二获取单元,用于获取源类对象和目标类对象之间的映射关系;以及转换单元,用于通过类转换器根据映射关系和映射器执行源类对象和目标类对象之间的转换,其中,类转换器中预先封装了类转换方法,映射器中预先封装了类转换规则,类转换方法用于根据类转换规则执行类之间的转换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511023820.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动放线架
- 下一篇:一种串联式双电机闭环控制超远程线材送料系统





