Eclipse代码生成器生成映射器类

use*_*022 5 java code-generation

我正在尝试编写代码生成器,使用Eclipse在任意两个类之间进行映射.我们的想法是提供一个向导,其中用户选择两个需要映射其属性的类.然后显示所有可能的匹配,如果用户没问题,那么创建一个ClassMapper类,我们将只有一个方法映射,它将执行所需的Class1.setXXX(Class2.getXXX());

关于我们如何做到这一点的任何指示?

谢谢

Dan*_*lor 2

您要做的就是提供与 Dozer 类似的功能,但静态代码具有这样的优势,即速度更快,它仅在代码中包含逻辑,并且更容易通过 IDE 中的调用层次结构找到字段用法。

一般来说,Eclipse 插件是最好的开始方式,因为您只能投影 GUI,并且显示是由 Eclipse 本身完成的,而且您还可以访问它的强大工具来处理 java 代码。

然而,我认为最糟糕的部分是配置部分。Dozer 有其原始映射器(原始映射器在原始类型和本机 java 类型之间进行转换;),它处理标准类型之间最典型的转换,但是经常需要配置它。例如,表示布尔值的字符串可以是“t”和“f”,或者“true”和“false”,或者“1”和“0”,或者来自其他语言的单词。日期可以有各种格式等。因此,您需要在此插件中配置各种映射器,可能是通过定义自己的代码片段来处理特定转换的方式。

但是,如果您这样做,我们将非常感激您。我最近正在寻找一些东西,它会做更多的事情,我的意思是它既可以创建映射,也可以创建代码将匹配的 dto,当对象子类型由各种类表示时,可以合并类层次结构以进行设计,以平面化单个类,更适合 json 传输,但是没有结果。