/*
 * An XML document type.
 * Localname: SequenceCreation
 * Namespace: http://schemas.xmlsoap.org/ws/2004/03/rm
 * Java type: org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument
 *
 * Automatically generated - do not modify.
 */
package org.xmlsoap.schemas.ws.x2004.x03.rm.impl;

/**
 * A document containing one SequenceCreation(@http://schemas.xmlsoap.org/ws/2004/03/rm) element.
 * <p/>
 * This is a complex type.
 */
public class SequenceCreationDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument {

    public SequenceCreationDocumentImpl(org.apache.xmlbeans.SchemaType sType) {
        super(sType);
    }

    private static final javax.xml.namespace.QName SEQUENCECREATION$0 =
            new javax.xml.namespace.QName("http://schemas.xmlsoap.org/ws/2004/03/rm", "SequenceCreation");


    /**
     * Gets the "SequenceCreation" element
     */
    public org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation getSequenceCreation() {
        synchronized (monitor()) {
            check_orphaned();
            org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation target = null;
            target = (org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation) get_store().find_element_user(SEQUENCECREATION$0, 0);
            if (target == null) {
                return null;
            }
            return target;
        }
    }

    /**
     * Sets the "SequenceCreation" element
     */
    public void setSequenceCreation(org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation sequenceCreation) {
        synchronized (monitor()) {
            check_orphaned();
            org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation target = null;
            target = (org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation) get_store().find_element_user(SEQUENCECREATION$0, 0);
            if (target == null) {
                target = (org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation) get_store().add_element_user(SEQUENCECREATION$0);
            }
            target.set(sequenceCreation);
        }
    }

    /**
     * Appends and returns a new empty "SequenceCreation" element
     */
    public org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation addNewSequenceCreation() {
        synchronized (monitor()) {
            check_orphaned();
            org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation target = null;
            target = (org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation) get_store().add_element_user(SEQUENCECREATION$0);
            return target;
        }
    }

    /**
     * An XML SequenceCreation(@http://schemas.xmlsoap.org/ws/2004/03/rm).
     * <p/>
     * This is a complex type.
     */
    public static class SequenceCreationImpl extends org.xmlsoap.schemas.ws.x2004.x03.rm.impl.PolicyAssertionTypeImpl implements org.xmlsoap.schemas.ws.x2004.x03.rm.SequenceCreationDocument.SequenceCreation {

        public SequenceCreationImpl(org.apache.xmlbeans.SchemaType sType) {
            super(sType);
        }

        private static final javax.xml.namespace.QName VALUE$0 =
                new javax.xml.namespace.QName("", "Value");


        /**
         * Gets the "Value" attribute
         */
        public javax.xml.namespace.QName getValue() {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue) get_store().find_attribute_user(VALUE$0);
                if (target == null) {
                    return null;
                }
                return target.getQNameValue();
            }
        }

        /**
         * Gets (as xml) the "Value" attribute
         */
        public org.apache.xmlbeans.XmlQName xgetValue() {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.XmlQName target = null;
                target = (org.apache.xmlbeans.XmlQName) get_store().find_attribute_user(VALUE$0);
                return target;
            }
        }

        /**
         * Sets the "Value" attribute
         */
        public void setValue(javax.xml.namespace.QName value) {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue) get_store().find_attribute_user(VALUE$0);
                if (target == null) {
                    target = (org.apache.xmlbeans.SimpleValue) get_store().add_attribute_user(VALUE$0);
                }
                target.setQNameValue(value);
            }
        }

        /**
         * Sets (as xml) the "Value" attribute
         */
        public void xsetValue(org.apache.xmlbeans.XmlQName value) {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.XmlQName target = null;
                target = (org.apache.xmlbeans.XmlQName) get_store().find_attribute_user(VALUE$0);
                if (target == null) {
                    target = (org.apache.xmlbeans.XmlQName) get_store().add_attribute_user(VALUE$0);
                }
                target.set(value);
            }
        }
    }
}
