Marshaller.Listener (Java SE 10 & JDK 10 )
Keywords: javax.xml.bind.Marshaller.Listener class

Module java.xml.bind
Package javax.xml.bind

## Class Marshaller.Listener

- java.lang.Object
- - javax.xml.bind.Marshaller.Listener

- Enclosing interface:
    Marshaller

      public abstract static class Marshaller.Listener
      extends Object

  Register an instance of an implementation of this class with a `Marshaller` to externally listen for marshal events.

  This class enables pre and post processing of each marshalled object. The event callbacks are called when marshalling from an instance that maps to an xml element or complex type definition. The event callbacks are not called when marshalling from an instance of a Java datatype that represents a simple type definition.

  External listener is one of two different mechanisms for defining marshal event callbacks. See Marshal Event Callbacks for an overview.

  Since:
    1.6, JAXB 2.0
  See Also:
    `Marshaller.setListener(Listener)`, `Marshaller.getListener()`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Listener()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `afterMarshal​(Object source)` | Callback method invoked after marshalling `source` to XML.
    `void` | `beforeMarshal​(Object source)` | Callback method invoked before marshalling from `source` to XML.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Listener

          public Listener()

  - ### Method Detail

    - #### beforeMarshal

          public void beforeMarshal​(Object source)

      Callback method invoked before marshalling from `source` to XML.

      This method is invoked just before marshalling process starts to marshal `source`. Note that if the class of `source` defines its own `beforeMarshal` method, the class specific callback method is invoked just before this method is invoked.

      Parameters:
        `source` - instance of JAXB mapped class prior to marshalling from it.

    - #### afterMarshal

          public void afterMarshal​(Object source)

      Callback method invoked after marshalling `source` to XML.

      This method is invoked after `source` and all its descendants have been marshalled. Note that if the class of `source` defines its own `afterMarshal` method, the class specific callback method is invoked just before this method is invoked.

      Parameters:
        `source` - instance of JAXB mapped class after marshalling it.