This loader works with a single JaxBeanInfo and handles
attributes, child elements, or child text.
| Modifier and Type | Field and Description |
|---|---|
| private Accessor | attCatchAll
This will receive all the attributes that were not processed. |
| private QNameMap | attUnmarshallers
Unmarshallers for attribute values. |
| private final JaxBeanInfo | |
| private ChildLoader | catchAll
Loader that processes elements that didn't match anf of the |
| private final QNameMap | childUnmarshallers
This map statically stores information of the unmarshaller loader and can be used while unmarshalling Since creating new QNames is expensive use this optimized version of the map |
| private static final QNameMap | |
| private int | frameSize
The number of scopes this dispatcher needs to keep active. |
| private ChildLoader | textHandler
If we have a loader for processing text. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | childElement(UnmarshallingContext.
Overrides org. Called when this loaderis an active loaderand we see a new child start tag. |
| public JaxBeanInfo | |
| public Collection | getExpectedAttributes()
Overrides org. Returns a set of tag names expected as possible child elements in this context. |
| public Collection | getExpectedChildElements()
Overrides org. Returns a set of tag names expected as possible child elements in this context. |
| public void | init(JAXBContextImpl context, ClassBeanInfoImpl<BeanT> beanInfo, Accessor<?, Map<QName, String>> attWildcard)
Completes the initialization. |
| public void | leaveElement(UnmarshallingContext.
Overrides org. Called when this loaderis an active loaderand we see an end tag. |
| public void | startElement(UnmarshallingContext.
Overrides org. 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. |
| public void | text(UnmarshallingContext.
Overrides org. Called when this loaderis an active loaderand we see a chunk of text. |
| attCatchAll | back to summary |
|---|---|
| private Accessor<Object, Map<QName, String>> attCatchAll This will receive all the attributes that were not processed. Never be null. | |
| attUnmarshallers | back to summary |
|---|---|
| private QNameMap<TransducedAccessor<BeanT>> attUnmarshallers Unmarshallers for attribute values.
May be null if no attribute is expected and | |
| beanInfo | back to summary |
|---|---|
| private final JaxBeanInfo<BeanT> beanInfo | |
| catchAll | back to summary |
|---|---|
| private ChildLoader catchAll Loader that processes elements that didn't match anf of the | |
| childUnmarshallers | back to summary |
|---|---|
| private final QNameMap<ChildLoader> childUnmarshallers This map statically stores information of the unmarshaller loader and can be used while unmarshalling Since creating new QNames is expensive use this optimized version of the map | |
| EMPTY | back to summary |
|---|---|
| private static final QNameMap<TransducedAccessor<BeanT>> EMPTY | |
| frameSize | back to summary |
|---|---|
| private int frameSize The number of scopes this dispatcher needs to keep active. | |
| textHandler | back to summary |
|---|---|
| private ChildLoader textHandler If we have a loader for processing text. Otherwise null. | |
| StructureLoader | back to summary |
|---|---|
| public StructureLoader(ClassBeanInfoImpl<BeanT> beanInfo) | |
| childElement | back to summary |
|---|---|
| public void childElement(UnmarshallingContext. Overrides org. Doc from org. 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 The default implementation reports an error saying an element is unexpected.
| |
| getBeanInfo | back to summary |
|---|---|
| public JaxBeanInfo | |
| getExpectedAttributes | back to summary |
|---|---|
| public Collection Overrides org. Doc from org. Returns a set of tag names expected as possible child elements in this context.
| |
| getExpectedChildElements | back to summary |
|---|---|
| public Collection Overrides org. Doc from org. Returns a set of tag names expected as possible child elements in this context.
| |
| init | back to summary |
|---|---|
| public void init(JAXBContextImpl context, ClassBeanInfoImpl<BeanT> beanInfo, Accessor<?, Map<QName, String>> attWildcard) Completes the initialization.
To fix the cyclic reference issue, the main part of the initialization needs to be done
after a is set to | |
| leaveElement | back to summary |
|---|---|
| public void leaveElement(UnmarshallingContext. Overrides org. Doc from org. Called when this loaderis an active loaderand we see an end tag.
| |
| startElement | back to summary |
|---|---|
| public void startElement(UnmarshallingContext. Overrides org. Doc from org. 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
| |
| text | back to summary |
|---|---|
| public void text(UnmarshallingContext. Overrides org. Doc from org. 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.
| |