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 javax.xml.bind.annotation.XmlAccessType;
012import javax.xml.bind.annotation.XmlAccessorType;
013import javax.xml.bind.annotation.XmlAttribute;
014import javax.xml.bind.annotation.XmlElement;
015import javax.xml.bind.annotation.XmlType;
016
017
018/**
019 * <p>Java class for SearchRequest complex type.
020 * 
021 * <p>The following schema fragment specifies the expected content contained within this class.
022 * 
023 * <pre>
024 * &lt;complexType name="SearchRequest">
025 *   &lt;complexContent>
026 *     &lt;extension base="{urn:oasis:names:tc:DSML:2:0:core}DsmlMessage">
027 *       &lt;sequence>
028 *         &lt;element name="filter" type="{urn:oasis:names:tc:DSML:2:0:core}Filter"/>
029 *         &lt;element name="attributes" type="{urn:oasis:names:tc:DSML:2:0:core}AttributeDescriptions" minOccurs="0"/>
030 *       &lt;/sequence>
031 *       &lt;attribute name="dn" use="required" type="{urn:oasis:names:tc:DSML:2:0:core}DsmlDN" />
032 *       &lt;attribute name="scope" use="required">
033 *         &lt;simpleType>
034 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
035 *             &lt;enumeration value="baseObject"/>
036 *             &lt;enumeration value="singleLevel"/>
037 *             &lt;enumeration value="wholeSubtree"/>
038 *           &lt;/restriction>
039 *         &lt;/simpleType>
040 *       &lt;/attribute>
041 *       &lt;attribute name="derefAliases" use="required">
042 *         &lt;simpleType>
043 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
044 *             &lt;enumeration value="neverDerefAliases"/>
045 *             &lt;enumeration value="derefInSearching"/>
046 *             &lt;enumeration value="derefFindingBaseObj"/>
047 *             &lt;enumeration value="derefAlways"/>
048 *           &lt;/restriction>
049 *         &lt;/simpleType>
050 *       &lt;/attribute>
051 *       &lt;attribute name="sizeLimit" type="{urn:oasis:names:tc:DSML:2:0:core}MAXINT" default="0" />
052 *       &lt;attribute name="timeLimit" type="{urn:oasis:names:tc:DSML:2:0:core}MAXINT" default="0" />
053 *       &lt;attribute name="typesOnly" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
054 *     &lt;/extension>
055 *   &lt;/complexContent>
056 * &lt;/complexType>
057 * </pre>
058 * 
059 * 
060 */
061@XmlAccessorType(XmlAccessType.FIELD)
062@XmlType(name = "SearchRequest", namespace = "urn:oasis:names:tc:DSML:2:0:core", propOrder = {
063    "filter",
064    "attributes"
065})
066public class SearchRequest
067    extends DsmlMessage
068{
069
070    @XmlElement(namespace = "urn:oasis:names:tc:DSML:2:0:core", required = true)
071    protected Filter filter;
072    @XmlElement(namespace = "urn:oasis:names:tc:DSML:2:0:core")
073    protected AttributeDescriptions attributes;
074    @XmlAttribute(name = "dn", required = true)
075    protected String dn;
076    @XmlAttribute(name = "scope", required = true)
077    protected String scope;
078    @XmlAttribute(name = "derefAliases", required = true)
079    protected String derefAliases;
080    @XmlAttribute(name = "sizeLimit")
081    protected Long sizeLimit;
082    @XmlAttribute(name = "timeLimit")
083    protected Long timeLimit;
084    @XmlAttribute(name = "typesOnly")
085    protected Boolean typesOnly;
086
087    /**
088     * Gets the value of the filter property.
089     * 
090     * @return
091     *     possible object is
092     *     {@link Filter }
093     *     
094     */
095    public Filter getFilter() {
096        return filter;
097    }
098
099    /**
100     * Sets the value of the filter property.
101     * 
102     * @param value
103     *     allowed object is
104     *     {@link Filter }
105     *     
106     */
107    public void setFilter(Filter value) {
108        this.filter = value;
109    }
110
111    /**
112     * Gets the value of the attributes property.
113     * 
114     * @return
115     *     possible object is
116     *     {@link AttributeDescriptions }
117     *     
118     */
119    public AttributeDescriptions getAttributes() {
120        return attributes;
121    }
122
123    /**
124     * Sets the value of the attributes property.
125     * 
126     * @param value
127     *     allowed object is
128     *     {@link AttributeDescriptions }
129     *     
130     */
131    public void setAttributes(AttributeDescriptions value) {
132        this.attributes = value;
133    }
134
135    /**
136     * Gets the value of the dn property.
137     * 
138     * @return
139     *     possible object is
140     *     {@link String }
141     *     
142     */
143    public String getDn() {
144        return dn;
145    }
146
147    /**
148     * Sets the value of the dn property.
149     * 
150     * @param value
151     *     allowed object is
152     *     {@link String }
153     *     
154     */
155    public void setDn(String value) {
156        this.dn = value;
157    }
158
159    /**
160     * Gets the value of the scope property.
161     * 
162     * @return
163     *     possible object is
164     *     {@link String }
165     *     
166     */
167    public String getScope() {
168        return scope;
169    }
170
171    /**
172     * Sets the value of the scope property.
173     * 
174     * @param value
175     *     allowed object is
176     *     {@link String }
177     *     
178     */
179    public void setScope(String value) {
180        this.scope = value;
181    }
182
183    /**
184     * Gets the value of the derefAliases property.
185     * 
186     * @return
187     *     possible object is
188     *     {@link String }
189     *     
190     */
191    public String getDerefAliases() {
192        return derefAliases;
193    }
194
195    /**
196     * Sets the value of the derefAliases property.
197     * 
198     * @param value
199     *     allowed object is
200     *     {@link String }
201     *     
202     */
203    public void setDerefAliases(String value) {
204        this.derefAliases = value;
205    }
206
207    /**
208     * Gets the value of the sizeLimit property.
209     * 
210     * @return
211     *     possible object is
212     *     {@link Long }
213     *     
214     */
215    public long getSizeLimit() {
216        if (sizeLimit == null) {
217            return  0L;
218        } else {
219            return sizeLimit;
220        }
221    }
222
223    /**
224     * Sets the value of the sizeLimit property.
225     * 
226     * @param value
227     *     allowed object is
228     *     {@link Long }
229     *     
230     */
231    public void setSizeLimit(Long value) {
232        this.sizeLimit = value;
233    }
234
235    /**
236     * Gets the value of the timeLimit property.
237     * 
238     * @return
239     *     possible object is
240     *     {@link Long }
241     *     
242     */
243    public long getTimeLimit() {
244        if (timeLimit == null) {
245            return  0L;
246        } else {
247            return timeLimit;
248        }
249    }
250
251    /**
252     * Sets the value of the timeLimit property.
253     * 
254     * @param value
255     *     allowed object is
256     *     {@link Long }
257     *     
258     */
259    public void setTimeLimit(Long value) {
260        this.timeLimit = value;
261    }
262
263    /**
264     * Gets the value of the typesOnly property.
265     * 
266     * @return
267     *     possible object is
268     *     {@link Boolean }
269     *     
270     */
271    public boolean isTypesOnly() {
272        if (typesOnly == null) {
273            return false;
274        } else {
275            return typesOnly;
276        }
277    }
278
279    /**
280     * Sets the value of the typesOnly property.
281     * 
282     * @param value
283     *     allowed object is
284     *     {@link Boolean }
285     *     
286     */
287    public void setTypesOnly(Boolean value) {
288        this.typesOnly = value;
289    }
290
291}