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

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

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

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


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

    /**
     * Sets the "BaseRetransmissionInterval" element
     */
    public void setBaseRetransmissionInterval(org.xmlsoap.schemas.ws.x2004.x03.rm.BaseRetransmissionIntervalDocument.BaseRetransmissionInterval baseRetransmissionInterval) {
        synchronized (monitor()) {
            check_orphaned();
            org.xmlsoap.schemas.ws.x2004.x03.rm.BaseRetransmissionIntervalDocument.BaseRetransmissionInterval target = null;
            target = (org.xmlsoap.schemas.ws.x2004.x03.rm.BaseRetransmissionIntervalDocument.BaseRetransmissionInterval) get_store().find_element_user(BASERETRANSMISSIONINTERVAL$0, 0);
            if (target == null) {
                target = (org.xmlsoap.schemas.ws.x2004.x03.rm.BaseRetransmissionIntervalDocument.BaseRetransmissionInterval) get_store().add_element_user(BASERETRANSMISSIONINTERVAL$0);
            }
            target.set(baseRetransmissionInterval);
        }
    }

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

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

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

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


        /**
         * Gets the "Milliseconds" attribute
         */
        public java.math.BigInteger getMilliseconds() {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue) get_store().find_attribute_user(MILLISECONDS$0);
                if (target == null) {
                    return null;
                }
                return target.getBigIntegerValue();
            }
        }

        /**
         * Gets (as xml) the "Milliseconds" attribute
         */
        public org.apache.xmlbeans.XmlUnsignedLong xgetMilliseconds() {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.XmlUnsignedLong target = null;
                target = (org.apache.xmlbeans.XmlUnsignedLong) get_store().find_attribute_user(MILLISECONDS$0);
                return target;
            }
        }

        /**
         * Sets the "Milliseconds" attribute
         */
        public void setMilliseconds(java.math.BigInteger milliseconds) {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue) get_store().find_attribute_user(MILLISECONDS$0);
                if (target == null) {
                    target = (org.apache.xmlbeans.SimpleValue) get_store().add_attribute_user(MILLISECONDS$0);
                }
                target.setBigIntegerValue(milliseconds);
            }
        }

        /**
         * Sets (as xml) the "Milliseconds" attribute
         */
        public void xsetMilliseconds(org.apache.xmlbeans.XmlUnsignedLong milliseconds) {
            synchronized (monitor()) {
                check_orphaned();
                org.apache.xmlbeans.XmlUnsignedLong target = null;
                target = (org.apache.xmlbeans.XmlUnsignedLong) get_store().find_attribute_user(MILLISECONDS$0);
                if (target == null) {
                    target = (org.apache.xmlbeans.XmlUnsignedLong) get_store().add_attribute_user(MILLISECONDS$0);
                }
                target.set(milliseconds);
            }
        }
    }
}
