Package org.jibx.binding.def
Class StructureReference
- java.lang.Object
-
- org.jibx.binding.def.PassThroughComponent
-
- org.jibx.binding.def.StructureReference
-
- All Implemented Interfaces:
IComponent,ILinkable
public class StructureReference extends PassThroughComponent
Reference to a structure definition. This is used as a placeholder when building the component structure of a binding definition. It's necessary because the referenced structure may not have been parsed yet. During the linkage phase that follows parsing this looks up the appropriate structure definition and sets up the corresponding component structure. Thereafter it operates as a simple pass-through wrapper for the top child component.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
-
Fields inherited from class org.jibx.binding.def.PassThroughComponent
m_component
-
-
Constructor Summary
Constructors Constructor Description StructureReference(IContainer contain, String label, PropertyDefinition prop, boolean hasname, IContextObj cobj)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidgenAttributeMarshal(ContextMethodBuilder mb)Generate attribute marshalling code.voidgenContentMarshal(ContextMethodBuilder mb)Generate element or text marshalling code.voidprint(int depth)voidsetLinkages()Establish and validate linkages between binding components.-
Methods inherited from class org.jibx.binding.def.PassThroughComponent
genAttributeUnmarshal, genAttrPresentTest, genContentPresentTest, genContentUnmarshal, genLoadId, genNewInstance, getType, getWrapperName, hasAttribute, hasContent, hasId, isOptional, setWrappedComponent
-
-
-
-
Constructor Detail
-
StructureReference
public StructureReference(IContainer contain, String label, PropertyDefinition prop, boolean hasname, IContextObj cobj)
Constructor.- Parameters:
contain- containing binding componentlabel- reference structure identifierprop- property definition (may benull)hasname- element name used with reference flagcobj- context object
-
-
Method Detail
-
genAttributeMarshal
public void genAttributeMarshal(ContextMethodBuilder mb) throws org.jibx.runtime.JiBXException
Description copied from interface:IComponentGenerate attribute marshalling code. This is called within the code generation for the marshaller of the class associated with the containing element. It needs to generate the necessary code for handling the marshalling operation, consuming the marshalled object reference from the stack.- Specified by:
genAttributeMarshalin interfaceIComponent- Overrides:
genAttributeMarshalin classPassThroughComponent- Parameters:
mb- method builder- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
genContentMarshal
public void genContentMarshal(ContextMethodBuilder mb) throws org.jibx.runtime.JiBXException
Description copied from interface:IComponentGenerate element or text marshalling code. This is called within the code generation for the marshaller of the class associated with the containing element. It needs to generate the necessary code for handling the marshalling operation, consuming the marshalled object reference from the stack.- Specified by:
genContentMarshalin interfaceIComponent- Overrides:
genContentMarshalin classPassThroughComponent- Parameters:
mb- method builder- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
setLinkages
public void setLinkages() throws org.jibx.runtime.JiBXExceptionDescription copied from interface:ILinkableEstablish and validate linkages between binding components. This is called after the basic binding structures have been set up. All linkages between components must be resolved by this method, in order to prevent problems due to the order of definitions between components. This implies that each component must in turn call the same method for each child component. None of the other method calls defined by this interface are valid until after this call.- Specified by:
setLinkagesin interfaceILinkable- Overrides:
setLinkagesin classPassThroughComponent- Throws:
org.jibx.runtime.JiBXException- if error in configuration
-
print
public void print(int depth)
- Specified by:
printin interfaceIComponent- Overrides:
printin classPassThroughComponent
-
-