Class Coordinator

  • All Implemented Interfaces:
    jakarta.xml.bind.ValidationEventHandler, ErrorHandler
    Direct Known Subclasses:
    UnmarshallingContext, XMLSerializer

    public abstract class Coordinator
    extends Object
    implements ErrorHandler, jakarta.xml.bind.ValidationEventHandler
    Object that coordinates the marshalling/unmarshalling.

    This class takes care of the logic that allows code to obtain UnmarshallingContext and XMLSerializer instances during the unmarshalling/marshalling.

    This is done by using a ThreadLocal. Therefore one unmarshalling/marshalling episode has to be done from the beginning till end by the same thread. (Note that the same Coordinator can be then used by a different thread for an entirely different episode.) This class also maintains the user-configured instances of XmlAdapters.

    This class implements ErrorHandler and propages erros to this object as the ValidationEventHandler, which will be implemented in a derived class.

    Author:
    Kohsuke Kawaguchi
    • Constructor Detail

      • Coordinator

        public Coordinator()
    • Method Detail

      • putAdapter

        public final jakarta.xml.bind.annotation.adapters.XmlAdapter putAdapter​(Class<? extends jakarta.xml.bind.annotation.adapters.XmlAdapter> c,
                                                                                jakarta.xml.bind.annotation.adapters.XmlAdapter a)
      • getAdapter

        public final <T extends jakarta.xml.bind.annotation.adapters.XmlAdapter> T getAdapter​(Class<T> key)
        Gets the instance of the adapter.
        Returns:
        always non-null.
      • containsAdapter

        public <T extends jakarta.xml.bind.annotation.adapters.XmlAdapter> boolean containsAdapter​(Class<T> type)
      • pushCoordinator

        protected final void pushCoordinator()
        Called whenever an execution flow enters the realm of this Coordinator.
      • popCoordinator

        protected final void popCoordinator()
        Called whenever an execution flow exits the realm of this Coordinator.
      • _getInstance

        public static Coordinator _getInstance()
      • getLocation

        protected abstract jakarta.xml.bind.ValidationEventLocator getLocation()
        Gets the current location. Used for reporting the error source location.