Java 在JaxB中加载具有父引用的类

Java 在JaxB中加载具有父引用的类,java,xml,json,jaxb,Java,Xml,Json,Jaxb,我有一个类似这样的类: public class Policy{ Key key; Permissions permissions; Policy parent; ... } 我还有一位政策经理: public PolicyManager{ Map<Key, Policy> policyMap; public Policy getPolicy(Key key){ return policyMap.get(key);

我有一个类似这样的类:

public class Policy{
    Key key;
    Permissions permissions;
    Policy parent;
    ...
}
我还有一位政策经理:

public PolicyManager{
    Map<Key, Policy> policyMap;

    public Policy getPolicy(Key key){
         return policyMap.get(key);
    }
公共政策管理器{
地图政策地图;
公共政策getPolicy(密钥){
返回policyMap.get(key);
}
如果策略有父级,它将继承其父级的权限。我不会承诺在每个策略中实际存储对父级的引用,但至少我需要某种方法来查找父级以继承其权限,无论最终对象的结构如何

我不确定在使用JaxB加载策略时如何执行此操作。我知道我可能需要使用XmlAdpter。但是,即使使用适配器,我也不知道如何查找父策略。我不知道如何将policyManager注入/传递到任何JaxB解组对象中,因此即使我编写自己的解组器,我也不知道“我没有办法查找父策略


我现在知道的唯一解决方案是让jaxb将某个中间对象返回给PolicyManager,PolicyManager将从该解组对象构建一个实际的策略。那么,有没有“更干净”的解决方案呢?

javax.xml.bind.Unmarshaller
有一个
侦听器
属性允许您在对象之前/之后进行侦听解组。
每次在
Listener.afterUnmarshal()中找到权限时,请将对象存储在某个位置,并在找到
策略时将其取回