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.JAXBElement;
014import javax.xml.bind.annotation.XmlAccessType;
015import javax.xml.bind.annotation.XmlAccessorType;
016import javax.xml.bind.annotation.XmlElementRef;
017import javax.xml.bind.annotation.XmlElementRefs;
018import javax.xml.bind.annotation.XmlType;
019
020
021/**
022 * <p>Java class for FilterSet complex type.
023 * 
024 * <p>The following schema fragment specifies the expected content contained within this class.
025 * 
026 * <pre>
027 * &lt;complexType name="FilterSet">
028 *   &lt;complexContent>
029 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
030 *       &lt;sequence>
031 *         &lt;group ref="{urn:oasis:names:tc:DSML:2:0:core}FilterGroup" maxOccurs="unbounded" minOccurs="0"/>
032 *       &lt;/sequence>
033 *     &lt;/restriction>
034 *   &lt;/complexContent>
035 * &lt;/complexType>
036 * </pre>
037 * 
038 * 
039 */
040@XmlAccessorType(XmlAccessType.FIELD)
041@XmlType(name = "FilterSet", namespace = "urn:oasis:names:tc:DSML:2:0:core", propOrder = {
042    "filterGroup"
043})
044public class FilterSet {
045
046    @XmlElementRefs({
047        @XmlElementRef(name = "extensibleMatch", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
048        @XmlElementRef(name = "and", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
049        @XmlElementRef(name = "lessOrEqual", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
050        @XmlElementRef(name = "substrings", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
051        @XmlElementRef(name = "equalityMatch", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
052        @XmlElementRef(name = "not", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
053        @XmlElementRef(name = "present", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
054        @XmlElementRef(name = "or", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
055        @XmlElementRef(name = "greaterOrEqual", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class),
056        @XmlElementRef(name = "approxMatch", namespace = "urn:oasis:names:tc:DSML:2:0:core", type = JAXBElement.class)
057    })
058    protected List<JAXBElement<?>> filterGroup;
059
060    /**
061     * Gets the value of the filterGroup property.
062     * 
063     * <p>
064     * This accessor method returns a reference to the live list,
065     * not a snapshot. Therefore any modification you make to the
066     * returned list will be present inside the JAXB object.
067     * This is why there is not a <CODE>set</CODE> method for the filterGroup property.
068     * 
069     * <p>
070     * For example, to add a new item, do as follows:
071     * <pre>
072     *    getFilterGroup().add(newItem);
073     * </pre>
074     * 
075     * 
076     * <p>
077     * Objects of the following type(s) are allowed in the list
078     * {@link JAXBElement }{@code <}{@link MatchingRuleAssertion }{@code >}
079     * {@link JAXBElement }{@code <}{@link FilterSet }{@code >}
080     * {@link JAXBElement }{@code <}{@link SubstringFilter }{@code >}
081     * {@link JAXBElement }{@code <}{@link AttributeValueAssertion }{@code >}
082     * {@link JAXBElement }{@code <}{@link Filter }{@code >}
083     * {@link JAXBElement }{@code <}{@link AttributeValueAssertion }{@code >}
084     * {@link JAXBElement }{@code <}{@link FilterSet }{@code >}
085     * {@link JAXBElement }{@code <}{@link AttributeDescription }{@code >}
086     * {@link JAXBElement }{@code <}{@link AttributeValueAssertion }{@code >}
087     * {@link JAXBElement }{@code <}{@link AttributeValueAssertion }{@code >}
088     * 
089     * 
090     */
091    public List<JAXBElement<?>> getFilterGroup() {
092        if (filterGroup == null) {
093            filterGroup = new ArrayList<JAXBElement<?>>();
094        }
095        return this.filterGroup;
096    }
097
098}