Ich bin derzeit auf ein peinliches Problem auf JAXB stecken. So habe ich die folgende Klassenstruktur in Ort:JAXB 2 Annotation und Subklassen Kopfschmerzen
@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;
}
}
Und jetzt in meiner anderen JAXB kommentierte Klasse, ich möchte, dies zu tun:
@XmlType
public class MyOtherClass
{
private MySuperClass var;
public MySuperClass getVar()
{
return this.var;
}
}
So der Grund ist, dass ich möchte var gesetzt zur Laufzeit, so dass der tatsächliche Rückgabetyp entweder MySubClass oder MySubClass2 wäre. Das Marshalling nach XML ist fehlerfrei, das Zurückstellen in Java-Klassen hat mir jedoch Nullwerte gegeben. Die Setter-Methode wurde nicht aufgerufen. Wie kann ich die Klassenhierarchie korrekt abmarschieren und trotzdem beibehalten?
Hilfe wird sehr geschätzt ...
Danke,