Top Description Fields Constructors Methods
org.glassfish.jaxb.runtime.v2.runtime

public abstract Class Coordinator

extends Object
implements ErrorHandler, ValidationEventHandler
Class Inheritance
All Implemented Interfaces
jakarta.xml.bind.ValidationEventHandler, org.xml.sax.ErrorHandler
Known Direct Subclasses
org.glassfish.jaxb.runtime.v2.runtime.XMLSerializer, org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallingContext
Imports
org.glassfish.jaxb.core.v2.ClassFactory, org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallingContext, jakarta.xml.bind.ValidationEvent, .ValidationEventHandler, .ValidationEventLocator, jakarta.xml.bind.annotation.adapters.XmlAdapter, jakarta.xml.bind.helpers.ValidationEventImpl, org.xml.sax.ErrorHandler, .SAXException, .SAXParseException, java.util.HashMap

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

Field Summary

Modifier and TypeField and Description
private static final ThreadLocal<Coordinator>
private final HashMap<Class<? extends XmlAdapter<ValueType, BoundType>>, XmlAdapter<ValueType, BoundType>>
private Coordinator
old

The Coordinator in charge before this Coordinator.

Constructor Summary

AccessConstructor and Description
protected
Coordinator()

Default constructor.

Method Summary

Modifier and TypeMethod and Description
public static Coordinator
public <T extends XmlAdapter<ValueType, BoundType>> boolean
public final void
error(SAXParseException exception)

Implements org.xml.sax.ErrorHandler.error.

Receive notification of a recoverable error.

public final void
fatalError(SAXParseException exception)

Implements org.xml.sax.ErrorHandler.fatalError.

Receive notification of a non-recoverable, fatal error.

public final <T extends XmlAdapter<ValueType, BoundType>> T

Returns:

always non-null.
getAdapter
(Class<T> key)

Gets the instance of the adapter.

protected abstract ValidationEventLocator
getLocation()

Gets the current location.

protected final void
popCoordinator()

Called whenever an execution flow exits the realm of this .

private void
propagateEvent(int severity, SAXParseException saxException)

protected final void
pushCoordinator()

Called whenever an execution flow enters the realm of this .

public final XmlAdapter<ValueType, BoundType>
putAdapter(Class<? extends XmlAdapter<ValueType, BoundType>> c, XmlAdapter<ValueType, BoundType> a)

public final void
warning(SAXParseException exception)

Implements org.xml.sax.ErrorHandler.warning.

Receive notification of a warning.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

activeTableback to summary
private static final ThreadLocal<Coordinator> activeTable
adaptersback to summary
private final HashMap<Class<? extends XmlAdapter<ValueType, BoundType>>, XmlAdapter<ValueType, BoundType>> adapters
oldback to summary
private Coordinator old

The Coordinator in charge before this Coordinator.

Constructor Detail

Coordinatorback to summary
protected Coordinator()

Default constructor.

Method Detail

_getInstanceback to summary
public static Coordinator _getInstance()
containsAdapterback to summary
public <T extends XmlAdapter<ValueType, BoundType>> boolean containsAdapter(Class<T> type)
errorback to summary
public final void error(SAXParseException exception) throws SAXException

Implements org.xml.sax.ErrorHandler.error.

Doc from org.xml.sax.ErrorHandler.error.

Receive notification of a recoverable error.

This corresponds to the definition of "error" in section 1.2 of the W3C XML 1.0 Recommendation. For example, a validating parser would use this callback to report the violation of a validity constraint. The default behaviour is to take no action.

The SAX parser must continue to provide normal parsing events after invoking this method: it should still be possible for the application to process the document through to the end. If the application cannot do so, then the parser should report a fatal error even if the XML recommendation does not require it to do so.

Filters may use this method to report other, non-XML errors as well.

Annotations
@Override
Exceptions
SAXException:
Any SAX exception, possibly wrapping another exception.
fatalErrorback to summary
public final void fatalError(SAXParseException exception) throws SAXException

Implements org.xml.sax.ErrorHandler.fatalError.

Doc from org.xml.sax.ErrorHandler.fatalError.

Receive notification of a non-recoverable, fatal error.

As defined in section 1.2 of the W3C XML 1.0 Recommendation, fatal errors are those that would make it impossible for a parser to continue normal processing. These include violation of a well-formedness constraint, invalid encoding, and forbidden structural errors as described in the W3C XML 1.0 Recommendation.

Annotations
@Override
Exceptions
SAXException:
if the application chooses to discontinue the parsing
getAdapterback to summary
public final <T extends XmlAdapter<ValueType, BoundType>> T getAdapter(Class<T> key)

Gets the instance of the adapter.

Returns:T

always non-null.

getLocationback to summary
protected abstract ValidationEventLocator getLocation()

Gets the current location. Used for reporting the error source location.

popCoordinatorback to summary
protected final void popCoordinator()

Called whenever an execution flow exits the realm of this .

propagateEventback to summary
private void propagateEvent(int severity, SAXParseException saxException) throws SAXException
pushCoordinatorback to summary
protected final void pushCoordinator()

Called whenever an execution flow enters the realm of this .

putAdapterback to summary
public final XmlAdapter<ValueType, BoundType> putAdapter(Class<? extends XmlAdapter<ValueType, BoundType>> c, XmlAdapter<ValueType, BoundType> a)
warningback to summary
public final void warning(SAXParseException exception) throws SAXException

Implements org.xml.sax.ErrorHandler.warning.

Doc from org.xml.sax.ErrorHandler.warning.

Receive notification of a warning.

SAX parsers will use this method to report conditions that are not errors or fatal errors as defined by the XML recommendation. The default behaviour is to take no action.

The SAX parser must continue to provide normal parsing events after invoking this method: it should still be possible for the application to process the document through to the end.

Filters may use this method to report other, non-XML warnings as well.

Annotations
@Override
Exceptions
SAXException:
Any SAX exception, possibly wrapping another exception.