001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
003// See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2018.12.10 at 03:02:30 PM PST 
006//
007
008
009package org.microbean.jpa.jaxb;
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.XmlElement;
016import javax.xml.bind.annotation.XmlType;
017
018
019/**
020 * 
021 * 
022 *         This element contains the entity field or property mappings.
023 *         It may be sparsely populated to include only a subset of the
024 *         fields or properties. If metadata-complete for the entity is true
025 *         then the remainder of the attributes will be defaulted according
026 *         to the default rules.
027 * 
028 *       
029 * 
030 * <p>Java class for attributes complex type.
031 * 
032 * <p>The following schema fragment specifies the expected content contained within this class.
033 * 
034 * <pre>
035 * &lt;complexType name="attributes"&gt;
036 *   &lt;complexContent&gt;
037 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
038 *       &lt;sequence&gt;
039 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
040 *         &lt;choice&gt;
041 *           &lt;element name="id" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}id" maxOccurs="unbounded" minOccurs="0"/&gt;
042 *           &lt;element name="embedded-id" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}embedded-id" minOccurs="0"/&gt;
043 *         &lt;/choice&gt;
044 *         &lt;element name="basic" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}basic" maxOccurs="unbounded" minOccurs="0"/&gt;
045 *         &lt;element name="version" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}version" maxOccurs="unbounded" minOccurs="0"/&gt;
046 *         &lt;element name="many-to-one" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}many-to-one" maxOccurs="unbounded" minOccurs="0"/&gt;
047 *         &lt;element name="one-to-many" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}one-to-many" maxOccurs="unbounded" minOccurs="0"/&gt;
048 *         &lt;element name="one-to-one" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}one-to-one" maxOccurs="unbounded" minOccurs="0"/&gt;
049 *         &lt;element name="many-to-many" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}many-to-many" maxOccurs="unbounded" minOccurs="0"/&gt;
050 *         &lt;element name="element-collection" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}element-collection" maxOccurs="unbounded" minOccurs="0"/&gt;
051 *         &lt;element name="embedded" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}embedded" maxOccurs="unbounded" minOccurs="0"/&gt;
052 *         &lt;element name="transient" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}transient" maxOccurs="unbounded" minOccurs="0"/&gt;
053 *       &lt;/sequence&gt;
054 *     &lt;/restriction&gt;
055 *   &lt;/complexContent&gt;
056 * &lt;/complexType&gt;
057 * </pre>
058 * 
059 * 
060 */
061@XmlAccessorType(XmlAccessType.FIELD)
062@XmlType(name = "attributes", propOrder = {
063    "description",
064    "id",
065    "embeddedId",
066    "basic",
067    "version",
068    "manyToOne",
069    "oneToMany",
070    "oneToOne",
071    "manyToMany",
072    "elementCollection",
073    "embedded",
074    "_transient"
075})
076public class Attributes {
077
078    protected String description;
079    protected List<Id> id;
080    @XmlElement(name = "embedded-id")
081    protected EmbeddedId embeddedId;
082    protected List<Basic> basic;
083    protected List<Version> version;
084    @XmlElement(name = "many-to-one")
085    protected List<ManyToOne> manyToOne;
086    @XmlElement(name = "one-to-many")
087    protected List<OneToMany> oneToMany;
088    @XmlElement(name = "one-to-one")
089    protected List<OneToOne> oneToOne;
090    @XmlElement(name = "many-to-many")
091    protected List<ManyToMany> manyToMany;
092    @XmlElement(name = "element-collection")
093    protected List<ElementCollection> elementCollection;
094    protected List<Embedded> embedded;
095    @XmlElement(name = "transient")
096    protected List<Transient> _transient;
097
098    /**
099     * Gets the value of the description property.
100     * 
101     * @return
102     *     possible object is
103     *     {@link String }
104     *     
105     */
106    public String getDescription() {
107        return description;
108    }
109
110    /**
111     * Sets the value of the description property.
112     * 
113     * @param value
114     *     allowed object is
115     *     {@link String }
116     *     
117     */
118    public void setDescription(String value) {
119        this.description = value;
120    }
121
122    /**
123     * Gets the value of the id property.
124     * 
125     * <p>
126     * This accessor method returns a reference to the live list,
127     * not a snapshot. Therefore any modification you make to the
128     * returned list will be present inside the JAXB object.
129     * This is why there is not a <CODE>set</CODE> method for the id property.
130     * 
131     * <p>
132     * For example, to add a new item, do as follows:
133     * <pre>
134     *    getId().add(newItem);
135     * </pre>
136     * 
137     * 
138     * <p>
139     * Objects of the following type(s) are allowed in the list
140     * {@link Id }
141     * 
142     * 
143     */
144    public List<Id> getId() {
145        if (id == null) {
146            id = new ArrayList<Id>();
147        }
148        return this.id;
149    }
150
151    /**
152     * Gets the value of the embeddedId property.
153     * 
154     * @return
155     *     possible object is
156     *     {@link EmbeddedId }
157     *     
158     */
159    public EmbeddedId getEmbeddedId() {
160        return embeddedId;
161    }
162
163    /**
164     * Sets the value of the embeddedId property.
165     * 
166     * @param value
167     *     allowed object is
168     *     {@link EmbeddedId }
169     *     
170     */
171    public void setEmbeddedId(EmbeddedId value) {
172        this.embeddedId = value;
173    }
174
175    /**
176     * Gets the value of the basic property.
177     * 
178     * <p>
179     * This accessor method returns a reference to the live list,
180     * not a snapshot. Therefore any modification you make to the
181     * returned list will be present inside the JAXB object.
182     * This is why there is not a <CODE>set</CODE> method for the basic property.
183     * 
184     * <p>
185     * For example, to add a new item, do as follows:
186     * <pre>
187     *    getBasic().add(newItem);
188     * </pre>
189     * 
190     * 
191     * <p>
192     * Objects of the following type(s) are allowed in the list
193     * {@link Basic }
194     * 
195     * 
196     */
197    public List<Basic> getBasic() {
198        if (basic == null) {
199            basic = new ArrayList<Basic>();
200        }
201        return this.basic;
202    }
203
204    /**
205     * Gets the value of the version property.
206     * 
207     * <p>
208     * This accessor method returns a reference to the live list,
209     * not a snapshot. Therefore any modification you make to the
210     * returned list will be present inside the JAXB object.
211     * This is why there is not a <CODE>set</CODE> method for the version property.
212     * 
213     * <p>
214     * For example, to add a new item, do as follows:
215     * <pre>
216     *    getVersion().add(newItem);
217     * </pre>
218     * 
219     * 
220     * <p>
221     * Objects of the following type(s) are allowed in the list
222     * {@link Version }
223     * 
224     * 
225     */
226    public List<Version> getVersion() {
227        if (version == null) {
228            version = new ArrayList<Version>();
229        }
230        return this.version;
231    }
232
233    /**
234     * Gets the value of the manyToOne property.
235     * 
236     * <p>
237     * This accessor method returns a reference to the live list,
238     * not a snapshot. Therefore any modification you make to the
239     * returned list will be present inside the JAXB object.
240     * This is why there is not a <CODE>set</CODE> method for the manyToOne property.
241     * 
242     * <p>
243     * For example, to add a new item, do as follows:
244     * <pre>
245     *    getManyToOne().add(newItem);
246     * </pre>
247     * 
248     * 
249     * <p>
250     * Objects of the following type(s) are allowed in the list
251     * {@link ManyToOne }
252     * 
253     * 
254     */
255    public List<ManyToOne> getManyToOne() {
256        if (manyToOne == null) {
257            manyToOne = new ArrayList<ManyToOne>();
258        }
259        return this.manyToOne;
260    }
261
262    /**
263     * Gets the value of the oneToMany property.
264     * 
265     * <p>
266     * This accessor method returns a reference to the live list,
267     * not a snapshot. Therefore any modification you make to the
268     * returned list will be present inside the JAXB object.
269     * This is why there is not a <CODE>set</CODE> method for the oneToMany property.
270     * 
271     * <p>
272     * For example, to add a new item, do as follows:
273     * <pre>
274     *    getOneToMany().add(newItem);
275     * </pre>
276     * 
277     * 
278     * <p>
279     * Objects of the following type(s) are allowed in the list
280     * {@link OneToMany }
281     * 
282     * 
283     */
284    public List<OneToMany> getOneToMany() {
285        if (oneToMany == null) {
286            oneToMany = new ArrayList<OneToMany>();
287        }
288        return this.oneToMany;
289    }
290
291    /**
292     * Gets the value of the oneToOne property.
293     * 
294     * <p>
295     * This accessor method returns a reference to the live list,
296     * not a snapshot. Therefore any modification you make to the
297     * returned list will be present inside the JAXB object.
298     * This is why there is not a <CODE>set</CODE> method for the oneToOne property.
299     * 
300     * <p>
301     * For example, to add a new item, do as follows:
302     * <pre>
303     *    getOneToOne().add(newItem);
304     * </pre>
305     * 
306     * 
307     * <p>
308     * Objects of the following type(s) are allowed in the list
309     * {@link OneToOne }
310     * 
311     * 
312     */
313    public List<OneToOne> getOneToOne() {
314        if (oneToOne == null) {
315            oneToOne = new ArrayList<OneToOne>();
316        }
317        return this.oneToOne;
318    }
319
320    /**
321     * Gets the value of the manyToMany property.
322     * 
323     * <p>
324     * This accessor method returns a reference to the live list,
325     * not a snapshot. Therefore any modification you make to the
326     * returned list will be present inside the JAXB object.
327     * This is why there is not a <CODE>set</CODE> method for the manyToMany property.
328     * 
329     * <p>
330     * For example, to add a new item, do as follows:
331     * <pre>
332     *    getManyToMany().add(newItem);
333     * </pre>
334     * 
335     * 
336     * <p>
337     * Objects of the following type(s) are allowed in the list
338     * {@link ManyToMany }
339     * 
340     * 
341     */
342    public List<ManyToMany> getManyToMany() {
343        if (manyToMany == null) {
344            manyToMany = new ArrayList<ManyToMany>();
345        }
346        return this.manyToMany;
347    }
348
349    /**
350     * Gets the value of the elementCollection property.
351     * 
352     * <p>
353     * This accessor method returns a reference to the live list,
354     * not a snapshot. Therefore any modification you make to the
355     * returned list will be present inside the JAXB object.
356     * This is why there is not a <CODE>set</CODE> method for the elementCollection property.
357     * 
358     * <p>
359     * For example, to add a new item, do as follows:
360     * <pre>
361     *    getElementCollection().add(newItem);
362     * </pre>
363     * 
364     * 
365     * <p>
366     * Objects of the following type(s) are allowed in the list
367     * {@link ElementCollection }
368     * 
369     * 
370     */
371    public List<ElementCollection> getElementCollection() {
372        if (elementCollection == null) {
373            elementCollection = new ArrayList<ElementCollection>();
374        }
375        return this.elementCollection;
376    }
377
378    /**
379     * Gets the value of the embedded property.
380     * 
381     * <p>
382     * This accessor method returns a reference to the live list,
383     * not a snapshot. Therefore any modification you make to the
384     * returned list will be present inside the JAXB object.
385     * This is why there is not a <CODE>set</CODE> method for the embedded property.
386     * 
387     * <p>
388     * For example, to add a new item, do as follows:
389     * <pre>
390     *    getEmbedded().add(newItem);
391     * </pre>
392     * 
393     * 
394     * <p>
395     * Objects of the following type(s) are allowed in the list
396     * {@link Embedded }
397     * 
398     * 
399     */
400    public List<Embedded> getEmbedded() {
401        if (embedded == null) {
402            embedded = new ArrayList<Embedded>();
403        }
404        return this.embedded;
405    }
406
407    /**
408     * Gets the value of the transient property.
409     * 
410     * <p>
411     * This accessor method returns a reference to the live list,
412     * not a snapshot. Therefore any modification you make to the
413     * returned list will be present inside the JAXB object.
414     * This is why there is not a <CODE>set</CODE> method for the transient property.
415     * 
416     * <p>
417     * For example, to add a new item, do as follows:
418     * <pre>
419     *    getTransient().add(newItem);
420     * </pre>
421     * 
422     * 
423     * <p>
424     * Objects of the following type(s) are allowed in the list
425     * {@link Transient }
426     * 
427     * 
428     */
429    public List<Transient> getTransient() {
430        if (_transient == null) {
431            _transient = new ArrayList<Transient>();
432        }
433        return this._transient;
434    }
435
436}