Java Builder Pattern - 深层对象复制

时间:2014-12-17 16:32:14

标签: java jaxb builder

我有一个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
}

0 个答案:

没有答案