2012-03-26 39 views
1

我有2类具有这种结构的另一个字段:引用在推土机自定义字段转换器

class ClassA { 
    String typeA; 
    List<String> valuesA; 
    ... other fields go here 
} 

class ClassB { 
    String typeB; 
    List<String> valuesB; 
    ... other fields go here 
} 

我需要将valuesA映射到valuesB和在该字段映射定制coverter我需要访问的typeA/TYPEB。

类似于:如果typeA是“type1”,则通过某种算法将valuesA映射到valuesB,如果typeA是“type2”,则通过不同算法将valuesA映射为valuesB。

推土机可能吗?

谢谢!

回答

1

我想通过使用Dozer的编程式(即Java)自定义转换器是可能的。

请参阅documentation,特别是TestCustomConverter Java类的示例。

+0

谢谢你的回复!但是,我不知道该怎么做,因为这意味着要为整个classA,classB映射编写一个自定义转换器。我将能够映射该字段,但是这会覆盖其他字段的默认推土机映射器。所以我不知道如何从这个自定义转换器调用基地推土转换器来映射其他领域。 – 2012-03-26 10:06:53

+1

我不认为你可以混合自定义转换器和XML转换器,因为在Dozer配置中,你必须为特定的类注册一个映射器。也许你可以用一些继承来解决这个问题? – 2012-03-26 10:14:28

+0

谢谢,但我无法改变这些类的结构 - 它们是从我不能改变的特定模式生成的。 – 2012-03-26 10:17:17