J'ai un XmlJavaTypeAdapter
défini pour chaque exception dans ma hiérarchie d'exception. J'utilise un objet wrapper pour marshaling les exceptions ci-dessous: -@XmlJavaTypeAdapter w/Inheritance
@XmlRootElement
public Wrapper<T extends BaseException> {
T exception;
}
Les exceptions: -
@XmlJavaTypeAdapter(BaseExceptionAdapter.class) {
public class BaseException extends RuntimeException {
}
@XmlJavaTypeAdapter(DerivedExceptionAdapter.class) {
public class DerivedException extends BaseException {
}
Lorsque je tente marshaling un objet wrapper, JAXB par défaut appelle toujours le BaseExceptionAdapter
même si le réel l'exception est de type DerivedException
. Comment puis-je le forcer à rechercher le type d'instance de l'exception plutôt que le type de référence.
Juste pour ajouter, package-info
/jaxb.index
etc sont comme excepté.