我有一个Jaxb对象,它有一个对象树3深。我创建了一个独立的对象来镜像这个Jaxb对象。我正在使用构建器模式将值从Jaxb复制到bean。问题是,当构建A时,我需要B的实例。但是,构建器所需的B的版本与B的“源”的Jaxb版本不同。
如何构建A?
public class A {
private B b;
public void setB(B b) {
this.b = b;
}
public static class ABuilder {
private B b;
public ABuilder withB(B b) {
this.b = b;
return this;
}
A build() {
A a = new A();
a.setB(b);
return a;
}
}
}
class B {
private C c;
private String name;
}
class C {
private int count;
}
class myMain {
com.myJaxb.B jaxbB;
A myA = new A.ABuilder().withB(jaxbB).build(); //error - withB doesnt take jaxb B
}