/*
 * XML Type:  ControlPropertiesType
 * Namespace: http://www.bea.com/wli/control/dynamicProperties
 * Java type: com.bea.wli.control.dynamicProperties.ControlPropertiesType
 *
 * Automatically generated - do not modify.
 */
package com.bea.wli.control.dynamicProperties.impl;
/**
 * An XML ControlPropertiesType(@http://www.bea.com/wli/control/dynamicProperties).
 *
 * This is a complex type.
 */
public class ControlPropertiesTypeImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.bea.wli.control.dynamicProperties.ControlPropertiesType
{
    
    public ControlPropertiesTypeImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName SERVICEBROKERCONTROLPROPERTIES$0 = 
        new javax.xml.namespace.QName("http://www.bea.com/wli/control/dynamicProperties", "ServiceBrokerControlProperties");
    private static final javax.xml.namespace.QName PUBLISHCONTROLPROPERTIES$2 = 
        new javax.xml.namespace.QName("http://www.bea.com/wli/control/dynamicProperties", "PublishControlProperties");
    private static final javax.xml.namespace.QName JMSCONTROLPROPERTIES$4 = 
        new javax.xml.namespace.QName("http://www.bea.com/wli/control/dynamicProperties", "JMSControlProperties");
    private static final javax.xml.namespace.QName PROCESSCONTROLPROPERTIES$6 = 
        new javax.xml.namespace.QName("http://www.bea.com/wli/control/dynamicProperties", "ProcessControlProperties");
    private static final javax.xml.namespace.QName VALUE$8 = 
        new javax.xml.namespace.QName("", "value");
    
    
    /**
     * Gets the "ServiceBrokerControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties getServiceBrokerControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties)get_store().find_element_user(SERVICEBROKERCONTROLPROPERTIES$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "ServiceBrokerControlProperties" element
     */
    public boolean isSetServiceBrokerControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(SERVICEBROKERCONTROLPROPERTIES$0) != 0;
        }
    }
    
    /**
     * Sets the "ServiceBrokerControlProperties" element
     */
    public void setServiceBrokerControlProperties(com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties serviceBrokerControlProperties)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties)get_store().find_element_user(SERVICEBROKERCONTROLPROPERTIES$0, 0);
            if (target == null)
            {
                target = (com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties)get_store().add_element_user(SERVICEBROKERCONTROLPROPERTIES$0);
            }
            target.set(serviceBrokerControlProperties);
        }
    }
    
    /**
     * Appends and returns a new empty "ServiceBrokerControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties addNewServiceBrokerControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.ServiceBrokerControlPropertiesDocument.ServiceBrokerControlProperties)get_store().add_element_user(SERVICEBROKERCONTROLPROPERTIES$0);
            return target;
        }
    }
    
    /**
     * Unsets the "ServiceBrokerControlProperties" element
     */
    public void unsetServiceBrokerControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(SERVICEBROKERCONTROLPROPERTIES$0, 0);
        }
    }
    
    /**
     * Gets the "PublishControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties getPublishControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties)get_store().find_element_user(PUBLISHCONTROLPROPERTIES$2, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "PublishControlProperties" element
     */
    public boolean isSetPublishControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PUBLISHCONTROLPROPERTIES$2) != 0;
        }
    }
    
    /**
     * Sets the "PublishControlProperties" element
     */
    public void setPublishControlProperties(com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties publishControlProperties)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties)get_store().find_element_user(PUBLISHCONTROLPROPERTIES$2, 0);
            if (target == null)
            {
                target = (com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties)get_store().add_element_user(PUBLISHCONTROLPROPERTIES$2);
            }
            target.set(publishControlProperties);
        }
    }
    
    /**
     * Appends and returns a new empty "PublishControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties addNewPublishControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.PublishControlPropertiesDocument.PublishControlProperties)get_store().add_element_user(PUBLISHCONTROLPROPERTIES$2);
            return target;
        }
    }
    
    /**
     * Unsets the "PublishControlProperties" element
     */
    public void unsetPublishControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PUBLISHCONTROLPROPERTIES$2, 0);
        }
    }
    
    /**
     * Gets the "JMSControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties getJMSControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties)get_store().find_element_user(JMSCONTROLPROPERTIES$4, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "JMSControlProperties" element
     */
    public boolean isSetJMSControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(JMSCONTROLPROPERTIES$4) != 0;
        }
    }
    
    /**
     * Sets the "JMSControlProperties" element
     */
    public void setJMSControlProperties(com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties jmsControlProperties)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties)get_store().find_element_user(JMSCONTROLPROPERTIES$4, 0);
            if (target == null)
            {
                target = (com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties)get_store().add_element_user(JMSCONTROLPROPERTIES$4);
            }
            target.set(jmsControlProperties);
        }
    }
    
    /**
     * Appends and returns a new empty "JMSControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties addNewJMSControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.JMSControlPropertiesDocument.JMSControlProperties)get_store().add_element_user(JMSCONTROLPROPERTIES$4);
            return target;
        }
    }
    
    /**
     * Unsets the "JMSControlProperties" element
     */
    public void unsetJMSControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(JMSCONTROLPROPERTIES$4, 0);
        }
    }
    
    /**
     * Gets the "ProcessControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties getProcessControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties)get_store().find_element_user(PROCESSCONTROLPROPERTIES$6, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "ProcessControlProperties" element
     */
    public boolean isSetProcessControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PROCESSCONTROLPROPERTIES$6) != 0;
        }
    }
    
    /**
     * Sets the "ProcessControlProperties" element
     */
    public void setProcessControlProperties(com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties processControlProperties)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties)get_store().find_element_user(PROCESSCONTROLPROPERTIES$6, 0);
            if (target == null)
            {
                target = (com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties)get_store().add_element_user(PROCESSCONTROLPROPERTIES$6);
            }
            target.set(processControlProperties);
        }
    }
    
    /**
     * Appends and returns a new empty "ProcessControlProperties" element
     */
    public com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties addNewProcessControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties target = null;
            target = (com.bea.wli.control.dynamicProperties.ProcessControlPropertiesDocument.ProcessControlProperties)get_store().add_element_user(PROCESSCONTROLPROPERTIES$6);
            return target;
        }
    }
    
    /**
     * Unsets the "ProcessControlProperties" element
     */
    public void unsetProcessControlProperties()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PROCESSCONTROLPROPERTIES$6, 0);
        }
    }
    
    /**
     * Gets the "value" attribute
     */
    public java.lang.String getValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VALUE$8);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "value" attribute
     */
    public org.apache.xmlbeans.XmlString xgetValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VALUE$8);
            return target;
        }
    }
    
    /**
     * True if has "value" attribute
     */
    public boolean isSetValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(VALUE$8) != null;
        }
    }
    
    /**
     * Sets the "value" attribute
     */
    public void setValue(java.lang.String value)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VALUE$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(VALUE$8);
            }
            target.setStringValue(value);
        }
    }
    
    /**
     * Sets (as xml) the "value" attribute
     */
    public void xsetValue(org.apache.xmlbeans.XmlString value)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VALUE$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(VALUE$8);
            }
            target.set(value);
        }
    }
    
    /**
     * Unsets the "value" attribute
     */
    public void unsetValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(VALUE$8);
        }
    }
}
