org.jibx.binding.def
Class ComponentProperty

java.lang.Object
  extended byorg.jibx.binding.def.PassThroughComponent
      extended byorg.jibx.binding.def.ComponentProperty
All Implemented Interfaces:
IComponent

public class ComponentProperty
extends PassThroughComponent

Property reference with binding defined by component. This handles loading and storing the property value, calling the wrapped component methods for everything else.

Author:
Dennis M. Sosnoski

Field Summary
private  boolean m_forceUnmarshal
          Fake content to force unmarshal to create an object.
private  PropertyDefinition m_property
          Property definition.
private  boolean m_skipMarshal
          Skip marshalling code tests flag.
 
Fields inherited from class org.jibx.binding.def.PassThroughComponent
m_component
 
Constructor Summary
ComponentProperty(PropertyDefinition prop, IComponent impl, boolean skip)
          Constructor.
 
Method Summary
 void genAttributeMarshal(ContextMethodBuilder mb)
          Generate attribute marshalling code.
 void genAttributeUnmarshal(ContextMethodBuilder mb)
          Generate attribute unmarshalling code.
 void genContentMarshal(ContextMethodBuilder mb)
          Generate element or text marshalling code.
 void genContentUnmarshal(ContextMethodBuilder mb)
          Generate element or text unmarshalling code.
 PropertyDefinition getProperty()
          Get the property information.
 boolean hasContent()
          Check if component defines one or more elements or text values as children of the containing element.
 boolean isOptional()
          Check if component is an optional item.
 void print(int depth)
           
 void setForceUnmarshal(boolean force)
          Set flag to force unmarshalling to create an object.
 void setSkipping(boolean skip)
          Set flag for skipping marshalling presence test code generation.
 
Methods inherited from class org.jibx.binding.def.PassThroughComponent
genAttrPresentTest, genContentPresentTest, genLoadId, genNewInstance, getType, getWrapperName, hasAttribute, hasId, setLinkages, setWrappedComponent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_property

private final PropertyDefinition m_property
Property definition.


m_skipMarshal

private boolean m_skipMarshal
Skip marshalling code tests flag.


m_forceUnmarshal

private boolean m_forceUnmarshal
Fake content to force unmarshal to create an object.

Constructor Detail

ComponentProperty

public ComponentProperty(PropertyDefinition prop,
                         IComponent impl,
                         boolean skip)
Constructor.

Parameters:
prop - actual property definition
impl - component that defines marshalling and unmarshalling
skip - flag for marshalling code tests to be skipped
Method Detail

setSkipping

public void setSkipping(boolean skip)
Set flag for skipping marshalling presence test code generation.

Parameters:
skip - true if skipping, false if not

setForceUnmarshal

public void setForceUnmarshal(boolean force)
Set flag to force unmarshalling to create an object.

Parameters:
force - true if skipping, false if not

getProperty

public PropertyDefinition getProperty()
Get the property information. This is a kludge used by the ElementWrapper code to store a null value directly to the property when unmarshalling a missing or xsi:nil element.

Returns:
property information

isOptional

public boolean isOptional()
Description copied from interface: IComponent
Check if component is an optional item.

Specified by:
isOptional in interface IComponent
Overrides:
isOptional in class PassThroughComponent

hasContent

public boolean hasContent()
Description copied from interface: IComponent
Check if component defines one or more elements or text values as children of the containing element. This method is only valid after the call to IComponent.setLinkages().

Specified by:
hasContent in interface IComponent
Overrides:
hasContent in class PassThroughComponent

genAttributeUnmarshal

public void genAttributeUnmarshal(ContextMethodBuilder mb)
                           throws JiBXException
Description copied from interface: IComponent
Generate attribute unmarshalling code. This is called within the code generation for the unmarshaller of the class associated with the containing element. It needs to generate the necessary code for handling the unmarshalling operation, leaving the unmarshalled object reference on the stack.

Specified by:
genAttributeUnmarshal in interface IComponent
Overrides:
genAttributeUnmarshal in class PassThroughComponent
Throws:
JiBXException

genAttributeMarshal

public void genAttributeMarshal(ContextMethodBuilder mb)
                         throws JiBXException
Description copied from interface: IComponent
Generate 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:
genAttributeMarshal in interface IComponent
Overrides:
genAttributeMarshal in class PassThroughComponent
Throws:
JiBXException

genContentUnmarshal

public void genContentUnmarshal(ContextMethodBuilder mb)
                         throws JiBXException
Description copied from interface: IComponent
Generate element or text unmarshalling code. This is called within the code generation for the unmarshaller of the class associated with the containing element. It needs to generate the necessary code for handling the unmarshalling operation, leaving the unmarshalled object reference on the stack.

Specified by:
genContentUnmarshal in interface IComponent
Overrides:
genContentUnmarshal in class PassThroughComponent
Throws:
JiBXException

genContentMarshal

public void genContentMarshal(ContextMethodBuilder mb)
                       throws JiBXException
Description copied from interface: IComponent
Generate 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:
genContentMarshal in interface IComponent
Overrides:
genContentMarshal in class PassThroughComponent
Throws:
JiBXException

print

public void print(int depth)
Specified by:
print in interface IComponent
Overrides:
print in class PassThroughComponent


Project Web Site