Ich habe eine XmlJavaTypeAdapter
für jede Ausnahme in meiner Ausnahme Hierarchie definiert. Ich benutze ein Wrapper-Objekt für so unter die Ausnahmen Marshalling: -@XmlJavaTypeAdapter mit Vererbung
@XmlRootElement
public Wrapper<T extends BaseException> {
T exception;
}
Die Ausnahmen: -
@XmlJavaTypeAdapter(BaseExceptionAdapter.class) {
public class BaseException extends RuntimeException {
}
@XmlJavaTypeAdapter(DerivedExceptionAdapter.class) {
public class DerivedException extends BaseException {
}
Wenn ich ein Wrapper-Objekt Marshalling, JAXB standardmäßig immer ruft die BaseExceptionAdapter
auch wenn die tatsächlichen Ausnahme ist vom Typ DerivedException
. Wie kann ich es zwingen, nach dem Instanztyp der Ausnahme und nicht nach dem Referenztyp zu suchen?
Nur hinzufügen, package-info
/jaxb.index
usw. sind wie ausgenommen.