Package com.sun.xml.bind.v2.runtime
Class Coordinator
- java.lang.Object
-
- com.sun.xml.bind.v2.runtime.Coordinator
-
- All Implemented Interfaces:
javax.xml.bind.ValidationEventHandler
,org.xml.sax.ErrorHandler
- Direct Known Subclasses:
UnmarshallingContext
,XMLSerializer
public abstract class Coordinator extends java.lang.Object implements org.xml.sax.ErrorHandler, javax.xml.bind.ValidationEventHandler
Object that coordinates the marshalling/unmarshalling.This class takes care of the logic that allows code to obtain
UnmarshallingContext
andXMLSerializer
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 sameCoordinator
can be then used by a different thread for an entirely different episode.) This class also maintains the user-configured instances ofXmlAdapter
s.This class implements
ErrorHandler
and propages erros to this object as theValidationEventHandler
, which will be implemented in a derived class.- Author:
- Kohsuke Kawaguchi
-
-
Constructor Summary
Constructors Constructor Description Coordinator()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Coordinator
_getInstance()
<T extends javax.xml.bind.annotation.adapters.XmlAdapter>
booleancontainsAdapter(java.lang.Class<T> type)
void
error(org.xml.sax.SAXParseException exception)
void
fatalError(org.xml.sax.SAXParseException exception)
<T extends javax.xml.bind.annotation.adapters.XmlAdapter>
TgetAdapter(java.lang.Class<T> key)
Gets the instance of the adapter.protected abstract javax.xml.bind.ValidationEventLocator
getLocation()
Gets the current location.protected void
popCoordinator()
Called whenever an execution flow exits the realm of thisCoordinator
.protected void
pushCoordinator()
Called whenever an execution flow enters the realm of thisCoordinator
.javax.xml.bind.annotation.adapters.XmlAdapter
putAdapter(java.lang.Class<? extends javax.xml.bind.annotation.adapters.XmlAdapter> c, javax.xml.bind.annotation.adapters.XmlAdapter a)
void
warning(org.xml.sax.SAXParseException exception)
-
-
-
Method Detail
-
putAdapter
public final javax.xml.bind.annotation.adapters.XmlAdapter putAdapter(java.lang.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(java.lang.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(java.lang.Class<T> type)
-
pushCoordinator
protected final void pushCoordinator()
Called whenever an execution flow enters the realm of thisCoordinator
.
-
popCoordinator
protected final void popCoordinator()
Called whenever an execution flow exits the realm of thisCoordinator
.
-
_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(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
- Specified by:
error
in interfaceorg.xml.sax.ErrorHandler
- Throws:
org.xml.sax.SAXException
-
warning
public final void warning(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
- Specified by:
warning
in interfaceorg.xml.sax.ErrorHandler
- Throws:
org.xml.sax.SAXException
-
fatalError
public final void fatalError(org.xml.sax.SAXParseException exception) throws org.xml.sax.SAXException
- Specified by:
fatalError
in interfaceorg.xml.sax.ErrorHandler
- Throws:
org.xml.sax.SAXException
-
-