В настоящее время я застрял в неловкой проблеме на 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;
}
}
Так что причина в том, что я хотел бы установить var во время выполнения, чтобы фактический тип возвращаемого значения был либо MySubClass, либо MySubClass2. Маршаллинг в XML безупречен, однако, демаршаллинг обратно в Java-классы дал мне нулевые значения. Метод установки не был вызван. Как я могу правильно распаковать и сохранить иерархию классов?
Помощь очень ценится ...
Спасибо