public final class StructureLoader extends Loader
This loader works with a single JaxBeanInfo
and handles
attributes, child elements, or child text.
expectText
Constructor and Description |
---|
StructureLoader(ClassBeanInfoImpl beanInfo) |
Modifier and Type | Method and Description |
---|---|
void |
childElement(UnmarshallingContext.State state,
TagName arg)
Called when this loaderis an active loaderand we see a new child start tag.
|
JaxBeanInfo |
getBeanInfo() |
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.
|
void |
init(JAXBContextImpl context,
ClassBeanInfoImpl beanInfo,
Accessor<?,Map<QName,String>> attWildcard)
Completes the initialization.
|
void |
leaveElement(UnmarshallingContext.State state,
TagName ea)
Called when this loaderis an active loaderand we see an end tag.
|
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.
|
expectText, fireAfterUnmarshal, fireBeforeUnmarshal, handleGenericError, handleGenericException, handleGenericException, handleParseConversionException, reportError, reportError, reportUnexpectedChildElement
public StructureLoader(ClassBeanInfoImpl beanInfo)
public void init(JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard)
To fix the cyclic reference issue, the main part of the initialization needs to be done
after a StructureLoader
is set to ClassBeanInfoImpl.loader
.
public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException
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.
startElement
in class Loader
ea
- info about the start tag. never null.SAXException
public void childElement(UnmarshallingContext.State state, TagName arg) throws SAXException
Loader
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.
childElement
in class Loader
SAXException
public Collection<QName> getExpectedChildElements()
Loader
getExpectedChildElements
in class Loader
public Collection<QName> getExpectedAttributes()
Loader
getExpectedAttributes
in class Loader
public void text(UnmarshallingContext.State state, CharSequence text) throws SAXException
Loader
text
in class Loader
SAXException
public void leaveElement(UnmarshallingContext.State state, TagName ea) throws SAXException
Loader
leaveElement
in class Loader
SAXException
public JaxBeanInfo getBeanInfo()
Copyright © 2020 JBoss by Red Hat. All rights reserved.