Module com.sun.xml.bind.osgi
Class Loader
- java.lang.Object
-
- org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.Loader
-
- Direct Known Subclasses:
DefaultValueLoaderDecorator
,Discarder
,DomLoader
,LeafPropertyLoader
,LeafPropertyXsiLoader
,ProxyLoader
,StructureLoader
,TextLoader
,ValuePropertyLoader
,XsiTypeLoader
public abstract class Loader extends Object
- Author:
- Kohsuke Kawaguchi
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
expectText
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
childElement(UnmarshallingContext.State state, TagName ea)
Called when this loaderis an active loaderand we see a new child start tag.boolean
expectText()
True if this loader expects thetext(UnmarshallingContext.State, CharSequence)
method to be called.protected void
fireAfterUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state)
Fires the afterUnmarshal event if necessary.protected void
fireBeforeUnmarshal(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 void
handleGenericError(Error e)
protected static void
handleGenericException(Exception e)
Last resort when something goes terribly wrong within the unmarshaller.static void
handleGenericException(Exception e, boolean canRecover)
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.void
leaveElement(UnmarshallingContext.State state, TagName ea)
Called when this loaderis an active loaderand we see an end tag.protected static void
reportError(String msg, boolean canRecover)
static void
reportError(String msg, Exception nested, boolean canRecover)
protected void
reportUnexpectedChildElement(TagName ea, boolean canRecover)
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.void
text(UnmarshallingContext.State state, CharSequence text)
Called when this loaderis an active loaderand we see a chunk of text.
-
-
-
Method Detail
-
startElement
public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException
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 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.- Throws:
SAXException
-
childElement
public void childElement(UnmarshallingContext.State state, TagName ea) throws SAXException
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.
- Throws:
SAXException
-
reportUnexpectedChildElement
protected final void reportUnexpectedChildElement(TagName ea, boolean canRecover) throws SAXException
- Throws:
SAXException
-
getExpectedChildElements
public Collection<QName> getExpectedChildElements()
Returns a set of tag names expected as possible child elements in this context.
-
getExpectedAttributes
public Collection<QName> getExpectedAttributes()
Returns a set of tag names expected as possible child elements in this context.
-
text
public void text(UnmarshallingContext.State state, CharSequence text) throws SAXException
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.- Throws:
SAXException
-
expectText
public final boolean expectText()
True if this loader expects thetext(UnmarshallingContext.State, CharSequence)
method to be called. False otherwise.
-
leaveElement
public void leaveElement(UnmarshallingContext.State state, TagName ea) throws SAXException
Called when this loaderis an active loaderand we see an end tag.- Throws:
SAXException
-
fireBeforeUnmarshal
protected final void fireBeforeUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state) throws SAXException
Fires the beforeUnmarshal event if necessary.- Parameters:
state
- state of the newly create child object.- Throws:
SAXException
-
fireAfterUnmarshal
protected final void fireAfterUnmarshal(JaxBeanInfo beanInfo, Object child, UnmarshallingContext.State state) throws SAXException
Fires the afterUnmarshal event if necessary.- Parameters:
state
- state of the parent object- Throws:
SAXException
-
handleGenericException
protected static void handleGenericException(Exception e) throws SAXException
Last resort when something goes terribly wrong within the unmarshaller.- Throws:
SAXException
-
handleGenericException
public static void handleGenericException(Exception e, boolean canRecover) throws SAXException
- Throws:
SAXException
-
handleGenericError
public static void handleGenericError(Error e) throws SAXException
- Throws:
SAXException
-
reportError
protected static void reportError(String msg, boolean canRecover) throws SAXException
- Throws:
SAXException
-
reportError
public static void reportError(String msg, Exception nested, boolean canRecover) throws SAXException
- Throws:
SAXException
-
handleParseConversionException
protected static void handleParseConversionException(UnmarshallingContext.State state, Exception e) throws SAXException
This method is called by the generated derived class when a datatype parse method throws an exception.- Throws:
SAXException
-
-