com.sun.xml.bind.v2.runtime.unmarshaller

Class Loader

public abstract class Loader extends Object

Field Summary
protected booleanexpectText
Constructor Summary
protected Loader(boolean expectText)
protected Loader()
Method Summary
voidchildElement(UnmarshallingContext.State state, TagName ea)
Called when this loaderis an active loaderand we see a new child start tag.
booleanexpectText()
True if this loader expects the Loader method to be called.
protected voidfireAfterUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state)
Fires the afterUnmarshal event if necessary.
protected voidfireBeforeUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state)
Fires the beforeUnmarshal event if necessary.
Collection<QName>getExpectedAttributes()
Returns a set of tag names expected as possible child elements in this context.
Collection<QName>getExpectedChildElements()
Returns a set of tag names expected as possible child elements in this context.
static voidhandleGenericError(Error e)
protected static voidhandleGenericException(Exception e)
Last resort when something goes terribly wrong within the unmarshaller.
static voidhandleGenericException(Exception e, boolean canRecover)
protected static voidhandleParseConversionException(UnmarshallingContext.State state, Exception e)
This method is called by the generated derived class when a datatype parse method throws an exception.
voidleaveElement(UnmarshallingContext.State state, TagName ea)
Called when this loaderis an active loaderand we see an end tag.
protected static voidreportError(String msg, boolean canRecover)
static voidreportError(String msg, Exception nested, boolean canRecover)
voidreportUnexpectedChildElement(TagName ea, boolean canRecover)
voidstartElement(UnmarshallingContext.State state, TagName ea)
Called when the loader is activated, which is when a new start tag is seen and when the parent designated this loader as the child loader.
voidtext(UnmarshallingContext.State state, CharSequence text)
Called when this loaderis an active loaderand we see a chunk of text.

Field Detail

expectText

protected boolean expectText

Constructor Detail

Loader

protected Loader(boolean expectText)

Loader

protected Loader()

Method Detail

childElement

public void childElement(UnmarshallingContext.State state, TagName ea)
Called when this loaderis an active loaderand we see a new child start tag.

The callee is expected to designate another loaderas a loaderthat processes this element, then it should also register a Receiver. The designated loaderwill become an active loader.

The default implementation reports an error saying an element is unexpected.

expectText

public final boolean expectText()
True if this loader expects the Loader method to be called. False otherwise.

fireAfterUnmarshal

protected final void fireAfterUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state)
Fires the afterUnmarshal event if necessary.

Parameters: state state of the parent object

fireBeforeUnmarshal

protected final void fireBeforeUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state)
Fires the beforeUnmarshal event if necessary.

Parameters: state state of the newly create child object.

getExpectedAttributes

public Collection<QName> getExpectedAttributes()
Returns a set of tag names expected as possible child elements in this context.

getExpectedChildElements

public Collection<QName> getExpectedChildElements()
Returns a set of tag names expected as possible child elements in this context.

handleGenericError

public static void handleGenericError(Error e)

handleGenericException

protected static void handleGenericException(Exception e)
Last resort when something goes terribly wrong within the unmarshaller.

handleGenericException

public static void handleGenericException(Exception e, boolean canRecover)

handleParseConversionException

protected static void handleParseConversionException(UnmarshallingContext.State state, Exception e)
This method is called by the generated derived class when a datatype parse method throws an exception.

leaveElement

public void leaveElement(UnmarshallingContext.State state, TagName ea)
Called when this loaderis an active loaderand we see an end tag.

reportError

protected static void reportError(String msg, boolean canRecover)

reportError

public static void reportError(String msg, Exception nested, boolean canRecover)

reportUnexpectedChildElement

final void reportUnexpectedChildElement(TagName ea, boolean canRecover)

startElement

public void startElement(UnmarshallingContext.State state, TagName ea)
Called when the loader is activated, which is when a new start tag is seen and when the parent designated this loader as the child loader.

The callee may change state.loader to designate another Loader for the processing. It's the responsibility of the callee to forward the startElement event in such a case.

Parameters: ea info about the start tag. never null.

text

public void text(UnmarshallingContext.State state, CharSequence text)
Called when this loaderis an active loaderand we see a chunk of text. The runtime makes sure that adjacent characters (even those separated by comments, PIs, etc) are reported as one event. IOW, you won't see two text event calls in a row.