私は現在、JAXB の厄介な問題で立ち往生しています。したがって、次のクラス構造が整っています。
@XmlType
public abstract class MySuperClass
{
...
...
@XmlTransient
public Double getValue() ...
...
}
@XmlType
public class MySubClass extends MySuperClass
{
public Double getValue()
{
return 100.00;
}
}
@XmlType
public class MySubClass2 extends MySuperClass
{
public Double getValue()
{
return 100.00;
}
}
そして今、私の他の JAXB アノテーション付きクラスで、これを行いたいと思います:
@XmlType
public class MyOtherClass
{
private MySuperClass var;
public MySuperClass getVar()
{
return this.var;
}
}
その理由は、実際の戻り値の型が MySubClass または MySubClass2 になるように、実行時に var を設定したいからです。XML へのマーシャリングは問題ありませんが、Java クラスへのアンマーシャリングで null 値が返されました。setter メソッドが呼び出されませんでした。どうすれば正しく非整列化し、クラス階層を維持できますか?
助けていただければ幸いです...
ありがとう、