Package org.jibx.binding.def
Class MappingReference
- java.lang.Object
-
- org.jibx.binding.def.PassThroughComponent
-
- org.jibx.binding.def.MappingReference
-
- All Implemented Interfaces:
IComponent,ILinkable
public class MappingReference extends PassThroughComponent
Reference to a mapping definition. This is used as a placeholder when building the component structure of a binding definition. It's necessary because the referenced mapping may not have been parsed yet. During the linkage phase that follows parsing this looks up the appropriate mapping 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 MappingReference(IContainer contain, PropertyDefinition prop, String type, String reftext, String refqname, IContextObj objc, NameDefinition name, boolean synth, boolean nillable)Constructor from property and type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidgenContentUnmarshal(ContextMethodBuilder mb)Patch the generated code to remove the unmarshalled object when it's a "this" reference with both elements and attributes.IMappinggetMapping()StringgetType()Get type expected by component.booleanisOptional()Check if component is an optional item.voidprint(int depth)voidsetLinkages()Establish and validate linkages between binding components.-
Methods inherited from class org.jibx.binding.def.PassThroughComponent
genAttributeMarshal, genAttributeUnmarshal, genAttrPresentTest, genContentMarshal, genContentPresentTest, genLoadId, genNewInstance, getWrapperName, hasAttribute, hasContent, hasId, setWrappedComponent
-
-
-
-
Constructor Detail
-
MappingReference
public MappingReference(IContainer contain, PropertyDefinition prop, String type, String reftext, String refqname, IContextObj objc, NameDefinition name, boolean synth, boolean nillable)
Constructor from property and type.- Parameters:
contain- containing binding definition structureprop- property definitiontype- fully qualified name of mapped typereftext- ordinary text name for abstract mapping reference (nullif not specified)refqname- qualified type name for abstract mapping reference (nullif not specified)objc- current object contextname- reference name definition (only allowed with abstract mappings)synth- sythentic reference added to empty collection flagnillable- flag for nillable element
-
-
Method Detail
-
getMapping
public IMapping getMapping()
-
isOptional
public boolean isOptional()
Description copied from interface:IComponentCheck if component is an optional item.- Specified by:
isOptionalin interfaceIComponent- Overrides:
isOptionalin classPassThroughComponent- Returns:
trueif optional,falseif required
-
getType
public String getType()
Description copied from interface:IComponentGet type expected by component.- Specified by:
getTypein interfaceIComponent- Overrides:
getTypein classPassThroughComponent- Returns:
- fully qualified class name of expected type
-
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
-
genContentUnmarshal
public void genContentUnmarshal(ContextMethodBuilder mb) throws org.jibx.runtime.JiBXException
Patch the generated code to remove the unmarshalled object when it's a "this" reference with both elements and attributes.- Specified by:
genContentUnmarshalin interfaceIComponent- Overrides:
genContentUnmarshalin classPassThroughComponent- Parameters:
mb- Context Method Builder- Throws:
org.jibx.runtime.JiBXException- If error
-
print
public void print(int depth)
- Specified by:
printin interfaceIComponent- Overrides:
printin classPassThroughComponent
-
-