Module  java.xml.bind
软件包  javax.xml.bind

Class Unmarshaller.Listener

  • Enclosing interface:
    Unmarshaller


    public abstract static class Unmarshaller.Listener
    extends Object

    使用Unmarshaller注册此类实现的实例,以外部监听未散布的事件。

    此类可以在XML数据未编组的情况下对JAXB映射类的实例进行前处理和后处理。 将XML内容解组为JAXBElement实例或表示复杂类型定义的JAXB映射类时,将调用事件回调。 解组到表示简单类型定义的Java数据类型的实例时,不会调用事件回调。

    外部监听器是定义unmarshal事件回调的两种不同的机制之一。 有关概述,请参阅Unmarshal Event Callbacks

    (@link #setListener(Listener)}(@link #getListener()}
    从以下版本开始:
    1.6,JAXB 2.0
    • 构造方法详细信息

      • Listener

        public Listener​()
    • 方法详细信息

      • beforeUnmarshal

        public void beforeUnmarshal​(Object target,
                                    Object parent)

        在解target之前调用回调方法到target

        在创建target之后,此对象的解组之前,立即调用此方法。 请注意,如果target的类定义了自己的beforeUnmarshal方法,则在调用此方法之前调用类特定的回调方法。

        参数
        target - 在解组之前JAXB映射类的非空实例。
        parent - JAXB映射类的实例,最终将引用target nulltarget是根元素。
      • afterUnmarshal

        public void afterUnmarshal​(Object target,
                                   Object parent)

        解组XML数据后调用回调方法为target

        在所有属性(IDREF除外)被解组成target ,但是将target设置为其parent对象之前,将调用此方法。 请注意,如果target的类定义了自己的afterUnmarshal方法,则在调用此方法之前调用类特定的回调方法。

        参数
        target - 在解组之前JAXB映射类的非空实例。
        parent - JAXB映射类的实例,将引用target nulltarget是根元素时。