实现类变化时保存JAXB接口?

时间:2013-12-26 14:49:50

标签: java xml jaxb jaxb2

我发现了一些关于使用JAXB(http://blog.bdoughan.com/2011/05/jaxb-and-interface-fronted-models.html)保存接口的文章,但如果不知道正在实现它的类,有没有办法保存接口?或者如果那个班级有所不同我的意思是,这似乎是界面的重点......

例如,假设班级A有一个使用接口I的变量,该变量在BCD中实现(如下所示)我想保存一个类A的实例。请注意,需要保存的字段不会在界面中声明:

public interface I {
    public void getMagicNumber();
}

public class A { //<--- Root element
    I interface;
    public void setI(I i) {
        this.interface = i;
    }
}

public class B implements I {
    private magicNumber = 0; // Needs to be saved by JAXB
    public void setMagicNumber(int i) {
       this.magicNumber = i;
    }

    @Override
    public int getMagicNumber() {
       return magicNumber
    }
}

public class C implements I {
    @Override
    public int getMagicNumber() {
       return [generate random number]
    }
}

public class D implements I {
   public int n1;  //Needs to be saved by JAXB
   public int n2;  //Needs to be save by JAXB

    @Override
    public int getMagicNumber() {
       return n1*n2;
    }
}

0 个答案:

没有答案