当XmlJavaTypeAdapter在使用XmlSeeAlso注释的抽象类的子类的类级别设置时,我无法使其工作。序列化已完成,但永远不会调用适配器。
@XmlRootElement(name = "root")
public class TopLevelClassBeingSerialized {
private Set<MyAbstractClass> set = new HashSet();
}
@XmlSeeAlso({MyImplClass.class})
//@XmlJavaTypeAdapter(MyAbstractClassAdapter.class)
public class MyAbstractClass {
}
@XmlJavaTypeAdapter(MyImplClassAdapter.class)
public class MyImplClass {
private int test = 2;
}
取消注释注释后,将调用适配器。我也尝试了setAdapter()方法,它不起作用。这是JAXB的限制吗?如果是的话,最好和最干净的解决方法是什么?