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

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

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

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


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

    /**
     * Sets the "AcknowledgementInterval" element
     */
    public void setAcknowledgementInterval(org.xmlsoap.schemas.ws.x2004.x03.rm.AcknowledgementIntervalDocument.AcknowledgementInterval acknowledgementInterval) {
        synchronized (monitor()) {
            check_orphaned();
            org.xmlsoap.schemas.ws.x2004.x03.rm.AcknowledgementIntervalDocument.AcknowledgementInterval target = null;
            target = (org.xmlsoap.schemas.ws.x2004.x03.rm.AcknowledgementIntervalDocument.AcknowledgementInterval) get_store().find_element_user(ACKNOWLEDGEMENTINTERVAL$0, 0);
            if (target == null) {
                target = (org.xmlsoap.schemas.ws.x2004.x03.rm.AcknowledgementIntervalDocument.AcknowledgementInterval) get_store().add_element_user(ACKNOWLEDGEMENTINTERVAL$0);
            }
            target.set(acknowledgementInterval);
        }
    }

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

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

        public AcknowledgementIntervalImpl(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);
            }
        }
    }
}
