Class ComponentProperty

  • All Implemented Interfaces:
    IComponent, ILinkable

    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 Detail

      • 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
      • genLoadUnmarshalInstance

        private void genLoadUnmarshalInstance​(ContextMethodBuilder mb)
                                       throws JiBXException
        Generate the code to load, and if necessary create, the object instance to be unmarshalled.
        Parameters:
        mb -
        Throws:
        JiBXException
      • 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 ILinkable.setLinkages().
        Specified by:
        hasContent in interface IComponent
        Overrides:
        hasContent in class PassThroughComponent
        Returns:
        true if one or more content values defined for containing element, false if not
      • 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
        Parameters:
        mb - method builder
        Throws:
        JiBXException - if error in configuration
      • 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
        Parameters:
        mb - method builder
        Throws:
        JiBXException - if error in configuration
      • 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
        Parameters:
        mb - method builder
        Throws:
        JiBXException - if error in configuration
      • 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
        Parameters:
        mb - method builder
        Throws:
        JiBXException - if error in configuration