该类javax.security.auth.x500.X500Principal
是最终的并且(当然)没有使用 JAXB 注释进行注释?那么如何将其编组为更大对象图的一部分呢?我想用它的name
财产价值来代替它。
编辑
解决方案很简单:
final class X500PrincipalXmlAdapter
extends XmlAdapter<String, X500Principal> {
@Override public X500Principal unmarshal(String name) {
return new X500Principal(name);
}
@Override public String marshal(X500Principal principal) {
return principal.getName();
}
}
实际上,我想知道为什么 JAXB 允许我使用非公共 XMLAdapter 类,但我当然更喜欢这种方式。