001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.7 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2015.08.26 at 05:38:23 AM CEST 
006//
007
008
009package org.opends.dsml.protocol;
010
011import java.util.ArrayList;
012import java.util.List;
013import javax.xml.bind.annotation.XmlAccessType;
014import javax.xml.bind.annotation.XmlAccessorType;
015import javax.xml.bind.annotation.XmlAttribute;
016import javax.xml.bind.annotation.XmlElement;
017import javax.xml.bind.annotation.XmlElements;
018import javax.xml.bind.annotation.XmlType;
019
020
021/**
022 * <p>Java class for BatchRequest complex type.
023 * 
024 * <p>The following schema fragment specifies the expected content contained within this class.
025 * 
026 * <pre>
027 * &lt;complexType name="BatchRequest">
028 *   &lt;complexContent>
029 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
030 *       &lt;sequence>
031 *         &lt;element name="authRequest" type="{urn:oasis:names:tc:DSML:2:0:core}AuthRequest" minOccurs="0"/>
032 *         &lt;group ref="{urn:oasis:names:tc:DSML:2:0:core}BatchRequests" maxOccurs="unbounded" minOccurs="0"/>
033 *       &lt;/sequence>
034 *       &lt;attribute name="requestID" type="{urn:oasis:names:tc:DSML:2:0:core}RequestID" />
035 *       &lt;attribute name="processing" default="sequential">
036 *         &lt;simpleType>
037 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
038 *             &lt;enumeration value="sequential"/>
039 *             &lt;enumeration value="parallel"/>
040 *           &lt;/restriction>
041 *         &lt;/simpleType>
042 *       &lt;/attribute>
043 *       &lt;attribute name="responseOrder" default="sequential">
044 *         &lt;simpleType>
045 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
046 *             &lt;enumeration value="sequential"/>
047 *             &lt;enumeration value="unordered"/>
048 *           &lt;/restriction>
049 *         &lt;/simpleType>
050 *       &lt;/attribute>
051 *       &lt;attribute name="onError" default="exit">
052 *         &lt;simpleType>
053 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
054 *             &lt;enumeration value="resume"/>
055 *             &lt;enumeration value="exit"/>
056 *           &lt;/restriction>
057 *         &lt;/simpleType>
058 *       &lt;/attribute>
059 *     &lt;/restriction>
060 *   &lt;/complexContent>
061 * &lt;/complexType>
062 * </pre>
063 * 
064 * 
065 */
066@XmlAccessorType(XmlAccessType.FIELD)
067@XmlType(name = "BatchRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", propOrder = {
068    "authRequest",
069    "batchRequests"
070})
071public class BatchRequest {
072
073    @XmlElement(namespace = "urn:oasis:names:tc:DSML:2:0:core")
074    protected AuthRequest authRequest;
075    @XmlElements({
076        @XmlElement(name = "searchRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = SearchRequest.class),
077        @XmlElement(name = "modifyRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = ModifyRequest.class),
078        @XmlElement(name = "addRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = AddRequest.class),
079        @XmlElement(name = "delRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = DelRequest.class),
080        @XmlElement(name = "modDNRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = ModifyDNRequest.class),
081        @XmlElement(name = "compareRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = CompareRequest.class),
082        @XmlElement(name = "abandonRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = AbandonRequest.class),
083        @XmlElement(name = "extendedRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = ExtendedRequest.class)
084    })
085    protected List<DsmlMessage> batchRequests;
086    @XmlAttribute(name = "requestID")
087    protected String requestID;
088    @XmlAttribute(name = "processing")
089    protected String processing;
090    @XmlAttribute(name = "responseOrder")
091    protected String responseOrder;
092    @XmlAttribute(name = "onError")
093    protected String onError;
094
095    /**
096     * Gets the value of the authRequest property.
097     * 
098     * @return
099     *     possible object is
100     *     {@link AuthRequest }
101     *     
102     */
103    public AuthRequest getAuthRequest() {
104        return authRequest;
105    }
106
107    /**
108     * Sets the value of the authRequest property.
109     * 
110     * @param value
111     *     allowed object is
112     *     {@link AuthRequest }
113     *     
114     */
115    public void setAuthRequest(AuthRequest value) {
116        this.authRequest = value;
117    }
118
119    /**
120     * Gets the value of the batchRequests property.
121     * 
122     * <p>
123     * This accessor method returns a reference to the live list,
124     * not a snapshot. Therefore any modification you make to the
125     * returned list will be present inside the JAXB object.
126     * This is why there is not a <CODE>set</CODE> method for the batchRequests property.
127     * 
128     * <p>
129     * For example, to add a new item, do as follows:
130     * <pre>
131     *    getBatchRequests().add(newItem);
132     * </pre>
133     * 
134     * 
135     * <p>
136     * Objects of the following type(s) are allowed in the list
137     * {@link SearchRequest }
138     * {@link ModifyRequest }
139     * {@link AddRequest }
140     * {@link DelRequest }
141     * {@link ModifyDNRequest }
142     * {@link CompareRequest }
143     * {@link AbandonRequest }
144     * {@link ExtendedRequest }
145     * 
146     * 
147     */
148    public List<DsmlMessage> getBatchRequests() {
149        if (batchRequests == null) {
150            batchRequests = new ArrayList<DsmlMessage>();
151        }
152        return this.batchRequests;
153    }
154
155    /**
156     * Gets the value of the requestID property.
157     * 
158     * @return
159     *     possible object is
160     *     {@link String }
161     *     
162     */
163    public String getRequestID() {
164        return requestID;
165    }
166
167    /**
168     * Sets the value of the requestID property.
169     * 
170     * @param value
171     *     allowed object is
172     *     {@link String }
173     *     
174     */
175    public void setRequestID(String value) {
176        this.requestID = value;
177    }
178
179    /**
180     * Gets the value of the processing property.
181     * 
182     * @return
183     *     possible object is
184     *     {@link String }
185     *     
186     */
187    public String getProcessing() {
188        if (processing == null) {
189            return "sequential";
190        } else {
191            return processing;
192        }
193    }
194
195    /**
196     * Sets the value of the processing property.
197     * 
198     * @param value
199     *     allowed object is
200     *     {@link String }
201     *     
202     */
203    public void setProcessing(String value) {
204        this.processing = value;
205    }
206
207    /**
208     * Gets the value of the responseOrder property.
209     * 
210     * @return
211     *     possible object is
212     *     {@link String }
213     *     
214     */
215    public String getResponseOrder() {
216        if (responseOrder == null) {
217            return "sequential";
218        } else {
219            return responseOrder;
220        }
221    }
222
223    /**
224     * Sets the value of the responseOrder property.
225     * 
226     * @param value
227     *     allowed object is
228     *     {@link String }
229     *     
230     */
231    public void setResponseOrder(String value) {
232        this.responseOrder = value;
233    }
234
235    /**
236     * Gets the value of the onError property.
237     * 
238     * @return
239     *     possible object is
240     *     {@link String }
241     *     
242     */
243    public String getOnError() {
244        if (onError == null) {
245            return "exit";
246        } else {
247            return onError;
248        }
249    }
250
251    /**
252     * Sets the value of the onError property.
253     * 
254     * @param value
255     *     allowed object is
256     *     {@link String }
257     *     
258     */
259    public void setOnError(String value) {
260        this.onError = value;
261    }
262
263}