Class Coordinator

java.lang.Object
com.sun.xml.bind.v2.runtime.Coordinator
All Implemented Interfaces:
javax.xml.bind.ValidationEventHandler, ErrorHandler
Direct Known Subclasses:
UnmarshallingContext, XMLSerializer

public abstract class Coordinator extends Object implements ErrorHandler, javax.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 Details

    • Coordinator

      public Coordinator()
  • Method Details

    • putAdapter

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

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

      public <T extends javax.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 javax.xml.bind.ValidationEventLocator getLocation()
      Gets the current location. Used for reporting the error source location.
    • error

      public final void error(SAXParseException exception) throws SAXException
      Specified by:
      error in interface ErrorHandler
      Throws:
      SAXException
    • warning

      public final void warning(SAXParseException exception) throws SAXException
      Specified by:
      warning in interface ErrorHandler
      Throws:
      SAXException
    • fatalError

      public final void fatalError(SAXParseException exception) throws SAXException
      Specified by:
      fatalError in interface ErrorHandler
      Throws:
      SAXException