001//
002// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 generiert 
003// Siehe <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
004// Änderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. 
005// Generiert: 2020.02.11 um 10:13:18 AM CET 
006//
007
008
009package info.psidev.cvmapping;
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.XmlEnum;
018import javax.xml.bind.annotation.XmlID;
019import javax.xml.bind.annotation.XmlRootElement;
020import javax.xml.bind.annotation.XmlSchemaType;
021import javax.xml.bind.annotation.XmlType;
022import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
023import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
024
025
026/**
027 * <p>Java-Klasse für anonymous complex type.
028 * 
029 * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
030 * 
031 * <pre>
032 * &lt;complexType&gt;
033 *   &lt;complexContent&gt;
034 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
035 *       &lt;sequence&gt;
036 *         &lt;element ref="{}CvTerm" maxOccurs="unbounded"/&gt;
037 *       &lt;/sequence&gt;
038 *       &lt;attribute name="scopePath" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
039 *       &lt;attribute name="cvElementPath" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
040 *       &lt;attribute name="cvTermsCombinationLogic" use="required"&gt;
041 *         &lt;simpleType&gt;
042 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN"&gt;
043 *             &lt;enumeration value="OR"/&gt;
044 *             &lt;enumeration value="AND"/&gt;
045 *             &lt;enumeration value="XOR"/&gt;
046 *           &lt;/restriction&gt;
047 *         &lt;/simpleType&gt;
048 *       &lt;/attribute&gt;
049 *       &lt;attribute name="requirementLevel" use="required"&gt;
050 *         &lt;simpleType&gt;
051 *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN"&gt;
052 *             &lt;enumeration value="MUST"/&gt;
053 *             &lt;enumeration value="SHOULD"/&gt;
054 *             &lt;enumeration value="MAY"/&gt;
055 *           &lt;/restriction&gt;
056 *         &lt;/simpleType&gt;
057 *       &lt;/attribute&gt;
058 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
059 *       &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
060 *     &lt;/restriction&gt;
061 *   &lt;/complexContent&gt;
062 * &lt;/complexType&gt;
063 * </pre>
064 * 
065 * 
066 */
067@XmlAccessorType(XmlAccessType.FIELD)
068@XmlType(name = "", propOrder = {
069    "cvTerm"
070})
071@XmlRootElement(name = "CvMappingRule")
072public class CvMappingRule {
073
074    @XmlElement(name = "CvTerm", required = true)
075    protected List<CvTerm> cvTerm;
076    @XmlAttribute(name = "scopePath", required = true)
077    protected String scopePath;
078    @XmlAttribute(name = "cvElementPath", required = true)
079    protected String cvElementPath;
080    @XmlAttribute(name = "cvTermsCombinationLogic", required = true)
081    protected CvMappingRule.CvTermsCombinationLogic cvTermsCombinationLogic;
082    @XmlAttribute(name = "requirementLevel", required = true)
083    protected CvMappingRule.RequirementLevel requirementLevel;
084    @XmlAttribute(name = "name")
085    protected String name;
086    @XmlAttribute(name = "id", required = true)
087    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
088    @XmlID
089    @XmlSchemaType(name = "ID")
090    protected String id;
091
092    /**
093     * One or more terms from a CVsource that are allowed to be associated with the given element of the model. Gets the value of the cvTerm property.
094     * 
095     * <p>
096     * This accessor method returns a reference to the live list,
097     * not a snapshot. Therefore any modification you make to the
098     * returned list will be present inside the JAXB object.
099     * This is why there is not a <CODE>set</CODE> method for the cvTerm property.
100     * 
101     * <p>
102     * For example, to add a new item, do as follows:
103     * <pre>
104     *    getCvTerm().add(newItem);
105     * </pre>
106     * 
107     * 
108     * <p>
109     * Objects of the following type(s) are allowed in the list
110     * {@link CvTerm }
111     * 
112     * 
113     */
114    public List<CvTerm> getCvTerm() {
115        if (cvTerm == null) {
116            cvTerm = new ArrayList<CvTerm>();
117        }
118        return this.cvTerm;
119    }
120
121    /**
122     * Ruft den Wert der scopePath-Eigenschaft ab.
123     * 
124     * @return
125     *     possible object is
126     *     {@link String }
127     *     
128     */
129    public String getScopePath() {
130        return scopePath;
131    }
132
133    /**
134     * Legt den Wert der scopePath-Eigenschaft fest.
135     * 
136     * @param value
137     *     allowed object is
138     *     {@link String }
139     *     
140     */
141    public void setScopePath(String value) {
142        this.scopePath = value;
143    }
144
145    /**
146     * Ruft den Wert der cvElementPath-Eigenschaft ab.
147     * 
148     * @return
149     *     possible object is
150     *     {@link String }
151     *     
152     */
153    public String getCvElementPath() {
154        return cvElementPath;
155    }
156
157    /**
158     * Legt den Wert der cvElementPath-Eigenschaft fest.
159     * 
160     * @param value
161     *     allowed object is
162     *     {@link String }
163     *     
164     */
165    public void setCvElementPath(String value) {
166        this.cvElementPath = value;
167    }
168
169    /**
170     * Ruft den Wert der cvTermsCombinationLogic-Eigenschaft ab.
171     * 
172     * @return
173     *     possible object is
174     *     {@link CvMappingRule.CvTermsCombinationLogic }
175     *     
176     */
177    public CvMappingRule.CvTermsCombinationLogic getCvTermsCombinationLogic() {
178        return cvTermsCombinationLogic;
179    }
180
181    /**
182     * Legt den Wert der cvTermsCombinationLogic-Eigenschaft fest.
183     * 
184     * @param value
185     *     allowed object is
186     *     {@link CvMappingRule.CvTermsCombinationLogic }
187     *     
188     */
189    public void setCvTermsCombinationLogic(CvMappingRule.CvTermsCombinationLogic value) {
190        this.cvTermsCombinationLogic = value;
191    }
192
193    /**
194     * Ruft den Wert der requirementLevel-Eigenschaft ab.
195     * 
196     * @return
197     *     possible object is
198     *     {@link CvMappingRule.RequirementLevel }
199     *     
200     */
201    public CvMappingRule.RequirementLevel getRequirementLevel() {
202        return requirementLevel;
203    }
204
205    /**
206     * Legt den Wert der requirementLevel-Eigenschaft fest.
207     * 
208     * @param value
209     *     allowed object is
210     *     {@link CvMappingRule.RequirementLevel }
211     *     
212     */
213    public void setRequirementLevel(CvMappingRule.RequirementLevel value) {
214        this.requirementLevel = value;
215    }
216
217    /**
218     * Ruft den Wert der name-Eigenschaft ab.
219     * 
220     * @return
221     *     possible object is
222     *     {@link String }
223     *     
224     */
225    public String getName() {
226        return name;
227    }
228
229    /**
230     * Legt den Wert der name-Eigenschaft fest.
231     * 
232     * @param value
233     *     allowed object is
234     *     {@link String }
235     *     
236     */
237    public void setName(String value) {
238        this.name = value;
239    }
240
241    /**
242     * Ruft den Wert der id-Eigenschaft ab.
243     * 
244     * @return
245     *     possible object is
246     *     {@link String }
247     *     
248     */
249    public String getId() {
250        return id;
251    }
252
253    /**
254     * Legt den Wert der id-Eigenschaft fest.
255     * 
256     * @param value
257     *     allowed object is
258     *     {@link String }
259     *     
260     */
261    public void setId(String value) {
262        this.id = value;
263    }
264
265
266    /**
267     * <p>Java-Klasse für null.
268     * 
269     * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
270     * <p>
271     * <pre>
272     * &lt;simpleType&gt;
273     *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN"&gt;
274     *     &lt;enumeration value="OR"/&gt;
275     *     &lt;enumeration value="AND"/&gt;
276     *     &lt;enumeration value="XOR"/&gt;
277     *   &lt;/restriction&gt;
278     * &lt;/simpleType&gt;
279     * </pre>
280     * 
281     */
282    @XmlType(name = "")
283    @XmlEnum
284    public enum CvTermsCombinationLogic {
285
286        OR,
287        AND,
288        XOR;
289
290        public String value() {
291            return name();
292        }
293
294        public static CvMappingRule.CvTermsCombinationLogic fromValue(String v) {
295            return valueOf(v);
296        }
297
298    }
299
300
301    /**
302     * <p>Java-Klasse für null.
303     * 
304     * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
305     * <p>
306     * <pre>
307     * &lt;simpleType&gt;
308     *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN"&gt;
309     *     &lt;enumeration value="MUST"/&gt;
310     *     &lt;enumeration value="SHOULD"/&gt;
311     *     &lt;enumeration value="MAY"/&gt;
312     *   &lt;/restriction&gt;
313     * &lt;/simpleType&gt;
314     * </pre>
315     * 
316     */
317    @XmlType(name = "")
318    @XmlEnum
319    public enum RequirementLevel {
320
321        MUST,
322        SHOULD,
323        MAY;
324
325        public String value() {
326            return name();
327        }
328
329        public static CvMappingRule.RequirementLevel fromValue(String v) {
330            return valueOf(v);
331        }
332
333    }
334
335}