我正在尝试编写代码生成器,使用Eclipse在任意两个类之间进行映射。我们的想法是提供一个向导,其中用户选择两个需要映射其属性的类。然后显示所有可能的匹配,如果用户没问题,那么创建一个ClassMapper类,我们将只有一个方法映射,它将执行所需的Class1.setXXX(Class2.getXXX());
关于我们如何做到这一点的任何指示?
由于
答案 0 :(得分:2)
你要做的就是提供与Dozer类似的功能,但是静态代码具有这种优势,它更快,它只包含代码中的逻辑,并且通过IDE中的调用层次结构更容易找到字段用法。
一般来说Eclipse插件是最好的开始方式,因为你只能投影GUI并且显示是由Eclipse本身完成的,而且你也可以访问它用来处理java代码的好工具。
然而,我认为,更糟糕的部分是配置一。 Dozer有它的原始映射器(它在原始和本机java类型之间转换的原语;),它处理标准类型之间的大多数典型转换,但是需要配置它。例如,表示布尔值的字符串可以是't'和'f',或'true'和'false'或'1'和'0',或来自其他语言的单词。日期可以有各种格式等。所以你需要在这个插件中配置各种映射器,可以通过定义自己的代码片段来处理特定的转换。但是,如果你这样做,我们将不胜感激。 我最近正在寻找一些东西,它会做更多,我的意思是它既可以创建映射,也可以创建与代码匹配的dto,可以合并类层次结构进行设计,当对象子类型由各种类表示时,可以单个类,更适合json传输,但没有结果。