/*
 * An XML document type.
 * Localname: service
 * Namespace: http://www.bea.com/2003/03/wli/tpm
 * Java type: com.bea.x2003.x03.wli.tpm.ServiceDocument
 *
 * Automatically generated - do not modify.
 */
package com.bea.x2003.x03.wli.tpm.impl;
/**
 * A document containing one service(@http://www.bea.com/2003/03/wli/tpm) element.
 *
 * This is a complex type.
 */
public class ServiceDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.bea.x2003.x03.wli.tpm.ServiceDocument
{
    
    public ServiceDocumentImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName SERVICE$0 = 
        new javax.xml.namespace.QName("http://www.bea.com/2003/03/wli/tpm", "service");
    
    
    /**
     * Gets the "service" element
     */
    public com.bea.x2003.x03.wli.tpm.ServiceDocument.Service getService()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.x2003.x03.wli.tpm.ServiceDocument.Service target = null;
            target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service)get_store().find_element_user(SERVICE$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * Sets the "service" element
     */
    public void setService(com.bea.x2003.x03.wli.tpm.ServiceDocument.Service service)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.x2003.x03.wli.tpm.ServiceDocument.Service target = null;
            target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service)get_store().find_element_user(SERVICE$0, 0);
            if (target == null)
            {
                target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service)get_store().add_element_user(SERVICE$0);
            }
            target.set(service);
        }
    }
    
    /**
     * Appends and returns a new empty "service" element
     */
    public com.bea.x2003.x03.wli.tpm.ServiceDocument.Service addNewService()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.bea.x2003.x03.wli.tpm.ServiceDocument.Service target = null;
            target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service)get_store().add_element_user(SERVICE$0);
            return target;
        }
    }
    /**
     * An XML service(@http://www.bea.com/2003/03/wli/tpm).
     *
     * This is a complex type.
     */
    public static class ServiceImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.bea.x2003.x03.wli.tpm.ServiceDocument.Service
    {
        
        public ServiceImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType);
        }
        
        private static final javax.xml.namespace.QName SERVICEPROFILE$0 = 
            new javax.xml.namespace.QName("http://www.bea.com/2003/03/wli/tpm", "service-profile");
        private static final javax.xml.namespace.QName ROSETTANETSERVICEDEFAULTS$2 = 
            new javax.xml.namespace.QName("http://www.bea.com/2003/03/wli/tpm", "rosettanet-service-defaults");
        private static final javax.xml.namespace.QName NAME$4 = 
            new javax.xml.namespace.QName("", "name");
        private static final javax.xml.namespace.QName DESCRIPTION$6 = 
            new javax.xml.namespace.QName("", "description");
        private static final javax.xml.namespace.QName NOTES$8 = 
            new javax.xml.namespace.QName("", "notes");
        private static final javax.xml.namespace.QName SERVICETYPE$10 = 
            new javax.xml.namespace.QName("", "service-type");
        private static final javax.xml.namespace.QName BUSINESSPROTOCOL$12 = 
            new javax.xml.namespace.QName("", "business-protocol");
        
        
        /**
         * Gets a List of "service-profile" elements
         */
        public java.util.List<com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile> getServiceProfileList()
        {
            final class ServiceProfileList extends java.util.AbstractList<com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile>
            {
                public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile get(int i)
                    { return ServiceImpl.this.getServiceProfileArray(i); }
                
                public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile set(int i, com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile o)
                {
                    com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile old = ServiceImpl.this.getServiceProfileArray(i);
                    ServiceImpl.this.setServiceProfileArray(i, o);
                    return old;
                }
                
                public void add(int i, com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile o)
                    { ServiceImpl.this.insertNewServiceProfile(i).set(o); }
                
                public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile remove(int i)
                {
                    com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile old = ServiceImpl.this.getServiceProfileArray(i);
                    ServiceImpl.this.removeServiceProfile(i);
                    return old;
                }
                
                public int size()
                    { return ServiceImpl.this.sizeOfServiceProfileArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new ServiceProfileList();
            }
        }
        
        /**
         * Gets array of all "service-profile" elements
         */
        public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile[] getServiceProfileArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List targetList = new java.util.ArrayList();
                get_store().find_all_element_users(SERVICEPROFILE$0, targetList);
                com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile[] result = new com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "service-profile" element
         */
        public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile getServiceProfileArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile)get_store().find_element_user(SERVICEPROFILE$0, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "service-profile" element
         */
        public int sizeOfServiceProfileArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(SERVICEPROFILE$0);
            }
        }
        
        /**
         * Sets array of all "service-profile" element
         */
        public void setServiceProfileArray(com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile[] serviceProfileArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(serviceProfileArray, SERVICEPROFILE$0);
            }
        }
        
        /**
         * Sets ith "service-profile" element
         */
        public void setServiceProfileArray(int i, com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile serviceProfile)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile)get_store().find_element_user(SERVICEPROFILE$0, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(serviceProfile);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "service-profile" element
         */
        public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile insertNewServiceProfile(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile)get_store().insert_element_user(SERVICEPROFILE$0, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "service-profile" element
         */
        public com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile addNewServiceProfile()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceProfileDocument.ServiceProfile)get_store().add_element_user(SERVICEPROFILE$0);
                return target;
            }
        }
        
        /**
         * Removes the ith "service-profile" element
         */
        public void removeServiceProfile(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(SERVICEPROFILE$0, i);
            }
        }
        
        /**
         * Gets the "rosettanet-service-defaults" element
         */
        public com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults getRosettanetServiceDefaults()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults target = null;
                target = (com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults)get_store().find_element_user(ROSETTANETSERVICEDEFAULTS$2, 0);
                if (target == null)
                {
                    return null;
                }
                return target;
            }
        }
        
        /**
         * True if has "rosettanet-service-defaults" element
         */
        public boolean isSetRosettanetServiceDefaults()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(ROSETTANETSERVICEDEFAULTS$2) != 0;
            }
        }
        
        /**
         * Sets the "rosettanet-service-defaults" element
         */
        public void setRosettanetServiceDefaults(com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults rosettanetServiceDefaults)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults target = null;
                target = (com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults)get_store().find_element_user(ROSETTANETSERVICEDEFAULTS$2, 0);
                if (target == null)
                {
                    target = (com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults)get_store().add_element_user(ROSETTANETSERVICEDEFAULTS$2);
                }
                target.set(rosettanetServiceDefaults);
            }
        }
        
        /**
         * Appends and returns a new empty "rosettanet-service-defaults" element
         */
        public com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults addNewRosettanetServiceDefaults()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults target = null;
                target = (com.bea.x2003.x03.wli.tpm.RosettanetServiceDefaultsDocument.RosettanetServiceDefaults)get_store().add_element_user(ROSETTANETSERVICEDEFAULTS$2);
                return target;
            }
        }
        
        /**
         * Unsets the "rosettanet-service-defaults" element
         */
        public void unsetRosettanetServiceDefaults()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(ROSETTANETSERVICEDEFAULTS$2, 0);
            }
        }
        
        /**
         * Gets the "name" attribute
         */
        public java.lang.String getName()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NAME$4);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }
        
        /**
         * Gets (as xml) the "name" attribute
         */
        public org.apache.xmlbeans.XmlString xgetName()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NAME$4);
                return target;
            }
        }
        
        /**
         * Sets the "name" attribute
         */
        public void setName(java.lang.String name)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NAME$4);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(NAME$4);
                }
                target.setStringValue(name);
            }
        }
        
        /**
         * Sets (as xml) the "name" attribute
         */
        public void xsetName(org.apache.xmlbeans.XmlString name)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NAME$4);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(NAME$4);
                }
                target.set(name);
            }
        }
        
        /**
         * Gets the "description" attribute
         */
        public java.lang.String getDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DESCRIPTION$6);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }
        
        /**
         * Gets (as xml) the "description" attribute
         */
        public org.apache.xmlbeans.XmlString xgetDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DESCRIPTION$6);
                return target;
            }
        }
        
        /**
         * True if has "description" attribute
         */
        public boolean isSetDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().find_attribute_user(DESCRIPTION$6) != null;
            }
        }
        
        /**
         * Sets the "description" attribute
         */
        public void setDescription(java.lang.String description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DESCRIPTION$6);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(DESCRIPTION$6);
                }
                target.setStringValue(description);
            }
        }
        
        /**
         * Sets (as xml) the "description" attribute
         */
        public void xsetDescription(org.apache.xmlbeans.XmlString description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DESCRIPTION$6);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(DESCRIPTION$6);
                }
                target.set(description);
            }
        }
        
        /**
         * Unsets the "description" attribute
         */
        public void unsetDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_attribute(DESCRIPTION$6);
            }
        }
        
        /**
         * Gets the "notes" attribute
         */
        public java.lang.String getNotes()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NOTES$8);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }
        
        /**
         * Gets (as xml) the "notes" attribute
         */
        public org.apache.xmlbeans.XmlString xgetNotes()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NOTES$8);
                return target;
            }
        }
        
        /**
         * True if has "notes" attribute
         */
        public boolean isSetNotes()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().find_attribute_user(NOTES$8) != null;
            }
        }
        
        /**
         * Sets the "notes" attribute
         */
        public void setNotes(java.lang.String notes)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NOTES$8);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(NOTES$8);
                }
                target.setStringValue(notes);
            }
        }
        
        /**
         * Sets (as xml) the "notes" attribute
         */
        public void xsetNotes(org.apache.xmlbeans.XmlString notes)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NOTES$8);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(NOTES$8);
                }
                target.set(notes);
            }
        }
        
        /**
         * Unsets the "notes" attribute
         */
        public void unsetNotes()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_attribute(NOTES$8);
            }
        }
        
        /**
         * Gets the "service-type" attribute
         */
        public com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType.Enum getServiceType()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SERVICETYPE$10);
                if (target == null)
                {
                    return null;
                }
                return (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType.Enum)target.getEnumValue();
            }
        }
        
        /**
         * Gets (as xml) the "service-type" attribute
         */
        public com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType xgetServiceType()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType)get_store().find_attribute_user(SERVICETYPE$10);
                return target;
            }
        }
        
        /**
         * True if has "service-type" attribute
         */
        public boolean isSetServiceType()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().find_attribute_user(SERVICETYPE$10) != null;
            }
        }
        
        /**
         * Sets the "service-type" attribute
         */
        public void setServiceType(com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType.Enum serviceType)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SERVICETYPE$10);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(SERVICETYPE$10);
                }
                target.setEnumValue(serviceType);
            }
        }
        
        /**
         * Sets (as xml) the "service-type" attribute
         */
        public void xsetServiceType(com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType serviceType)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType)get_store().find_attribute_user(SERVICETYPE$10);
                if (target == null)
                {
                    target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType)get_store().add_attribute_user(SERVICETYPE$10);
                }
                target.set(serviceType);
            }
        }
        
        /**
         * Unsets the "service-type" attribute
         */
        public void unsetServiceType()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_attribute(SERVICETYPE$10);
            }
        }
        
        /**
         * Gets the "business-protocol" attribute
         */
        public com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol.Enum getBusinessProtocol()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BUSINESSPROTOCOL$12);
                if (target == null)
                {
                    return null;
                }
                return (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol.Enum)target.getEnumValue();
            }
        }
        
        /**
         * Gets (as xml) the "business-protocol" attribute
         */
        public com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol xgetBusinessProtocol()
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol)get_store().find_attribute_user(BUSINESSPROTOCOL$12);
                return target;
            }
        }
        
        /**
         * True if has "business-protocol" attribute
         */
        public boolean isSetBusinessProtocol()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().find_attribute_user(BUSINESSPROTOCOL$12) != null;
            }
        }
        
        /**
         * Sets the "business-protocol" attribute
         */
        public void setBusinessProtocol(com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol.Enum businessProtocol)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BUSINESSPROTOCOL$12);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(BUSINESSPROTOCOL$12);
                }
                target.setEnumValue(businessProtocol);
            }
        }
        
        /**
         * Sets (as xml) the "business-protocol" attribute
         */
        public void xsetBusinessProtocol(com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol businessProtocol)
        {
            synchronized (monitor())
            {
                check_orphaned();
                com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol target = null;
                target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol)get_store().find_attribute_user(BUSINESSPROTOCOL$12);
                if (target == null)
                {
                    target = (com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol)get_store().add_attribute_user(BUSINESSPROTOCOL$12);
                }
                target.set(businessProtocol);
            }
        }
        
        /**
         * Unsets the "business-protocol" attribute
         */
        public void unsetBusinessProtocol()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_attribute(BUSINESSPROTOCOL$12);
            }
        }
        /**
         * An XML service-type(@).
         *
         * This is an atomic type that is a restriction of com.bea.x2003.x03.wli.tpm.ServiceDocument$Service$ServiceType.
         */
        public static class ServiceTypeImpl extends org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx implements com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.ServiceType
        {
            
            public ServiceTypeImpl(org.apache.xmlbeans.SchemaType sType)
            {
                super(sType, false);
            }
            
            protected ServiceTypeImpl(org.apache.xmlbeans.SchemaType sType, boolean b)
            {
                super(sType, b);
            }
        }
        /**
         * An XML business-protocol(@).
         *
         * This is an atomic type that is a restriction of com.bea.x2003.x03.wli.tpm.ServiceDocument$Service$BusinessProtocol.
         */
        public static class BusinessProtocolImpl extends org.apache.xmlbeans.impl.values.JavaStringEnumerationHolderEx implements com.bea.x2003.x03.wli.tpm.ServiceDocument.Service.BusinessProtocol
        {
            
            public BusinessProtocolImpl(org.apache.xmlbeans.SchemaType sType)
            {
                super(sType, false);
            }
            
            protected BusinessProtocolImpl(org.apache.xmlbeans.SchemaType sType, boolean b)
            {
                super(sType, b);
            }
        }
    }
}
