我正在尝试使用Eclipse编写代码生成器,以在任意两个类之间进行映射。想法是提供一个向导,用户选择需要映射属性的两个类。然后显示所有可能的匹配项,如果用户确认无误,则创建一个ClassMapper类,其中只有一个map方法,该方法将执行所需的Class1.setXXX(Class2.getXXX())操作。
对于如何实现此功能,您有什么建议吗?
谢谢。
对于如何实现此功能,您有什么建议吗?
谢谢。
您要做的事情提供了与Dozer类似的功能,但静态代码具有优势,它更快,仅包含代码中的逻辑,并且可以通过IDE中的调用层次结构更容易地查找字段使用。
通常,Eclipse插件是开始的最佳方式,因为您只能投影GUI,显示由Eclipse本身完成,并且您还可以访问其出色的工具以处理Java代码。
然而,我认为较差的部分将是配置部分。 Dozer具有原始映射器(在将基元和本机Java类型之间进行转换的方式上是原始的;),它处理大多数标准类型之间的典型转换,但通常需要进行配置。例如,表示布尔值的字符串可以是“t”和“f”,也可以是“true”和“false”或“1”和“0”,或者其他语言的单词。日期可以有各种格式等。因此,您将需要通过定义自己的代码片段来处理特定转换的方式,在此插件中配置各种映射器。
但是,如果您这样做,您将受到极大的赞赏。 最近,我正在寻找一些东西,它可以做更多的事情,我的意思是它既可以创建映射,又可以创建匹配代码的dto,同时具有合并类层次结构的可能性,当对象子类型由各种类表示时,可以将其表示为单个类,更适用于JSON传输,但没有结果。