这是一个场景,我有一个类ADTO,它有一些属性,我想用dozer转换为另一个类型(A_DOMAIN),它是一个带有两个子类的抽象类,它将字段保存为不同的枚举:
public class A_DTO{
private String field;
private String fieldType;//should i use this with BeanFactory?
privave String value;
private CompareOperator operation;
}
public abstract class A_DOMAIN{
private String value;
private CompareOperator operation;
}
public class B_DOMAIN extends A_DOMAIN{
private SearchFieldProc field;
}
public class C_DOMAIN extends A_DOMAIN{
private SearchFieldDoc field;
}
因此,我们的想法是从A_DTO类转换为A_DOMAIN的子类之一。源类(A_DTO)中的字段属性保存枚举中的name(),以便我可以转换为子类中的枚举SearchFieldProc和SearchFieldDoc。
我怀疑是否应该使用BeanFactory类来实例化B_DOMAIN或C_DOMAIN,这取决于字符串fieldType,它将决定我是否应该实例化B或C域类?还是可以使用自定义转换器进行?