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.XmlAttribute;
016import javax.xml.bind.annotation.XmlElement;
017import javax.xml.bind.annotation.XmlSchemaType;
018import javax.xml.bind.annotation.XmlType;
019
020
021/**
022 * 
023 * 
024 *         @Target({METHOD, FIELD}) @Retention(RUNTIME)
025 *         public @interface ElementCollection {
026 *           Class targetClass() default void.class;
027 *           FetchType fetch() default LAZY;
028 *         }
029 * 
030 *       
031 * 
032 * <p>Java class for element-collection complex type.
033 * 
034 * <p>The following schema fragment specifies the expected content contained within this class.
035 * 
036 * <pre>
037 * &lt;complexType name="element-collection"&gt;
038 *   &lt;complexContent&gt;
039 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
040 *       &lt;sequence&gt;
041 *         &lt;choice&gt;
042 *           &lt;element name="order-by" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}order-by" minOccurs="0"/&gt;
043 *           &lt;element name="order-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}order-column" minOccurs="0"/&gt;
044 *         &lt;/choice&gt;
045 *         &lt;choice&gt;
046 *           &lt;element name="map-key" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key" minOccurs="0"/&gt;
047 *           &lt;sequence&gt;
048 *             &lt;element name="map-key-class" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key-class" minOccurs="0"/&gt;
049 *             &lt;choice&gt;
050 *               &lt;element name="map-key-temporal" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}temporal" minOccurs="0"/&gt;
051 *               &lt;element name="map-key-enumerated" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}enumerated" minOccurs="0"/&gt;
052 *               &lt;sequence&gt;
053 *                 &lt;element name="map-key-attribute-override" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}attribute-override" maxOccurs="unbounded" minOccurs="0"/&gt;
054 *                 &lt;element name="map-key-convert" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}convert" maxOccurs="unbounded" minOccurs="0"/&gt;
055 *               &lt;/sequence&gt;
056 *             &lt;/choice&gt;
057 *             &lt;choice&gt;
058 *               &lt;element name="map-key-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key-column" minOccurs="0"/&gt;
059 *               &lt;sequence&gt;
060 *                 &lt;element name="map-key-join-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key-join-column" maxOccurs="unbounded" minOccurs="0"/&gt;
061 *                 &lt;element name="map-key-foreign-key" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}foreign-key" minOccurs="0"/&gt;
062 *               &lt;/sequence&gt;
063 *             &lt;/choice&gt;
064 *           &lt;/sequence&gt;
065 *         &lt;/choice&gt;
066 *         &lt;choice&gt;
067 *           &lt;sequence&gt;
068 *             &lt;element name="column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}column" minOccurs="0"/&gt;
069 *             &lt;choice&gt;
070 *               &lt;element name="temporal" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}temporal" minOccurs="0"/&gt;
071 *               &lt;element name="enumerated" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}enumerated" minOccurs="0"/&gt;
072 *               &lt;element name="lob" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}lob" minOccurs="0"/&gt;
073 *             &lt;/choice&gt;
074 *           &lt;/sequence&gt;
075 *           &lt;sequence&gt;
076 *             &lt;element name="attribute-override" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}attribute-override" maxOccurs="unbounded" minOccurs="0"/&gt;
077 *             &lt;element name="association-override" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}association-override" maxOccurs="unbounded" minOccurs="0"/&gt;
078 *             &lt;element name="convert" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}convert" maxOccurs="unbounded" minOccurs="0"/&gt;
079 *           &lt;/sequence&gt;
080 *         &lt;/choice&gt;
081 *         &lt;element name="collection-table" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}collection-table" minOccurs="0"/&gt;
082 *       &lt;/sequence&gt;
083 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
084 *       &lt;attribute name="target-class" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
085 *       &lt;attribute name="fetch" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}fetch-type" /&gt;
086 *       &lt;attribute name="access" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}access-type" /&gt;
087 *     &lt;/restriction&gt;
088 *   &lt;/complexContent&gt;
089 * &lt;/complexType&gt;
090 * </pre>
091 * 
092 * 
093 */
094@XmlAccessorType(XmlAccessType.FIELD)
095@XmlType(name = "element-collection", propOrder = {
096    "orderBy",
097    "orderColumn",
098    "mapKey",
099    "mapKeyClass",
100    "mapKeyTemporal",
101    "mapKeyEnumerated",
102    "mapKeyAttributeOverride",
103    "mapKeyConvert",
104    "mapKeyColumn",
105    "mapKeyJoinColumn",
106    "mapKeyForeignKey",
107    "column",
108    "temporal",
109    "enumerated",
110    "lob",
111    "attributeOverride",
112    "associationOverride",
113    "convert",
114    "collectionTable"
115})
116public class ElementCollection {
117
118    @XmlElement(name = "order-by")
119    protected String orderBy;
120    @XmlElement(name = "order-column")
121    protected OrderColumn orderColumn;
122    @XmlElement(name = "map-key")
123    protected MapKey mapKey;
124    @XmlElement(name = "map-key-class")
125    protected MapKeyClass mapKeyClass;
126    @XmlElement(name = "map-key-temporal")
127    @XmlSchemaType(name = "token")
128    protected TemporalType mapKeyTemporal;
129    @XmlElement(name = "map-key-enumerated")
130    @XmlSchemaType(name = "token")
131    protected EnumType mapKeyEnumerated;
132    @XmlElement(name = "map-key-attribute-override")
133    protected List<AttributeOverride> mapKeyAttributeOverride;
134    @XmlElement(name = "map-key-convert")
135    protected List<Convert> mapKeyConvert;
136    @XmlElement(name = "map-key-column")
137    protected MapKeyColumn mapKeyColumn;
138    @XmlElement(name = "map-key-join-column")
139    protected List<MapKeyJoinColumn> mapKeyJoinColumn;
140    @XmlElement(name = "map-key-foreign-key")
141    protected ForeignKey mapKeyForeignKey;
142    protected Column column;
143    @XmlSchemaType(name = "token")
144    protected TemporalType temporal;
145    @XmlSchemaType(name = "token")
146    protected EnumType enumerated;
147    protected Lob lob;
148    @XmlElement(name = "attribute-override")
149    protected List<AttributeOverride> attributeOverride;
150    @XmlElement(name = "association-override")
151    protected List<AssociationOverride> associationOverride;
152    protected List<Convert> convert;
153    @XmlElement(name = "collection-table")
154    protected CollectionTable collectionTable;
155    @XmlAttribute(name = "name", required = true)
156    protected String name;
157    @XmlAttribute(name = "target-class")
158    protected String targetClass;
159    @XmlAttribute(name = "fetch")
160    protected FetchType fetch;
161    @XmlAttribute(name = "access")
162    protected AccessType access;
163
164    /**
165     * Gets the value of the orderBy property.
166     * 
167     * @return
168     *     possible object is
169     *     {@link String }
170     *     
171     */
172    public String getOrderBy() {
173        return orderBy;
174    }
175
176    /**
177     * Sets the value of the orderBy property.
178     * 
179     * @param value
180     *     allowed object is
181     *     {@link String }
182     *     
183     */
184    public void setOrderBy(String value) {
185        this.orderBy = value;
186    }
187
188    /**
189     * Gets the value of the orderColumn property.
190     * 
191     * @return
192     *     possible object is
193     *     {@link OrderColumn }
194     *     
195     */
196    public OrderColumn getOrderColumn() {
197        return orderColumn;
198    }
199
200    /**
201     * Sets the value of the orderColumn property.
202     * 
203     * @param value
204     *     allowed object is
205     *     {@link OrderColumn }
206     *     
207     */
208    public void setOrderColumn(OrderColumn value) {
209        this.orderColumn = value;
210    }
211
212    /**
213     * Gets the value of the mapKey property.
214     * 
215     * @return
216     *     possible object is
217     *     {@link MapKey }
218     *     
219     */
220    public MapKey getMapKey() {
221        return mapKey;
222    }
223
224    /**
225     * Sets the value of the mapKey property.
226     * 
227     * @param value
228     *     allowed object is
229     *     {@link MapKey }
230     *     
231     */
232    public void setMapKey(MapKey value) {
233        this.mapKey = value;
234    }
235
236    /**
237     * Gets the value of the mapKeyClass property.
238     * 
239     * @return
240     *     possible object is
241     *     {@link MapKeyClass }
242     *     
243     */
244    public MapKeyClass getMapKeyClass() {
245        return mapKeyClass;
246    }
247
248    /**
249     * Sets the value of the mapKeyClass property.
250     * 
251     * @param value
252     *     allowed object is
253     *     {@link MapKeyClass }
254     *     
255     */
256    public void setMapKeyClass(MapKeyClass value) {
257        this.mapKeyClass = value;
258    }
259
260    /**
261     * Gets the value of the mapKeyTemporal property.
262     * 
263     * @return
264     *     possible object is
265     *     {@link TemporalType }
266     *     
267     */
268    public TemporalType getMapKeyTemporal() {
269        return mapKeyTemporal;
270    }
271
272    /**
273     * Sets the value of the mapKeyTemporal property.
274     * 
275     * @param value
276     *     allowed object is
277     *     {@link TemporalType }
278     *     
279     */
280    public void setMapKeyTemporal(TemporalType value) {
281        this.mapKeyTemporal = value;
282    }
283
284    /**
285     * Gets the value of the mapKeyEnumerated property.
286     * 
287     * @return
288     *     possible object is
289     *     {@link EnumType }
290     *     
291     */
292    public EnumType getMapKeyEnumerated() {
293        return mapKeyEnumerated;
294    }
295
296    /**
297     * Sets the value of the mapKeyEnumerated property.
298     * 
299     * @param value
300     *     allowed object is
301     *     {@link EnumType }
302     *     
303     */
304    public void setMapKeyEnumerated(EnumType value) {
305        this.mapKeyEnumerated = value;
306    }
307
308    /**
309     * Gets the value of the mapKeyAttributeOverride property.
310     * 
311     * <p>
312     * This accessor method returns a reference to the live list,
313     * not a snapshot. Therefore any modification you make to the
314     * returned list will be present inside the JAXB object.
315     * This is why there is not a <CODE>set</CODE> method for the mapKeyAttributeOverride property.
316     * 
317     * <p>
318     * For example, to add a new item, do as follows:
319     * <pre>
320     *    getMapKeyAttributeOverride().add(newItem);
321     * </pre>
322     * 
323     * 
324     * <p>
325     * Objects of the following type(s) are allowed in the list
326     * {@link AttributeOverride }
327     * 
328     * 
329     */
330    public List<AttributeOverride> getMapKeyAttributeOverride() {
331        if (mapKeyAttributeOverride == null) {
332            mapKeyAttributeOverride = new ArrayList<AttributeOverride>();
333        }
334        return this.mapKeyAttributeOverride;
335    }
336
337    /**
338     * Gets the value of the mapKeyConvert property.
339     * 
340     * <p>
341     * This accessor method returns a reference to the live list,
342     * not a snapshot. Therefore any modification you make to the
343     * returned list will be present inside the JAXB object.
344     * This is why there is not a <CODE>set</CODE> method for the mapKeyConvert property.
345     * 
346     * <p>
347     * For example, to add a new item, do as follows:
348     * <pre>
349     *    getMapKeyConvert().add(newItem);
350     * </pre>
351     * 
352     * 
353     * <p>
354     * Objects of the following type(s) are allowed in the list
355     * {@link Convert }
356     * 
357     * 
358     */
359    public List<Convert> getMapKeyConvert() {
360        if (mapKeyConvert == null) {
361            mapKeyConvert = new ArrayList<Convert>();
362        }
363        return this.mapKeyConvert;
364    }
365
366    /**
367     * Gets the value of the mapKeyColumn property.
368     * 
369     * @return
370     *     possible object is
371     *     {@link MapKeyColumn }
372     *     
373     */
374    public MapKeyColumn getMapKeyColumn() {
375        return mapKeyColumn;
376    }
377
378    /**
379     * Sets the value of the mapKeyColumn property.
380     * 
381     * @param value
382     *     allowed object is
383     *     {@link MapKeyColumn }
384     *     
385     */
386    public void setMapKeyColumn(MapKeyColumn value) {
387        this.mapKeyColumn = value;
388    }
389
390    /**
391     * Gets the value of the mapKeyJoinColumn property.
392     * 
393     * <p>
394     * This accessor method returns a reference to the live list,
395     * not a snapshot. Therefore any modification you make to the
396     * returned list will be present inside the JAXB object.
397     * This is why there is not a <CODE>set</CODE> method for the mapKeyJoinColumn property.
398     * 
399     * <p>
400     * For example, to add a new item, do as follows:
401     * <pre>
402     *    getMapKeyJoinColumn().add(newItem);
403     * </pre>
404     * 
405     * 
406     * <p>
407     * Objects of the following type(s) are allowed in the list
408     * {@link MapKeyJoinColumn }
409     * 
410     * 
411     */
412    public List<MapKeyJoinColumn> getMapKeyJoinColumn() {
413        if (mapKeyJoinColumn == null) {
414            mapKeyJoinColumn = new ArrayList<MapKeyJoinColumn>();
415        }
416        return this.mapKeyJoinColumn;
417    }
418
419    /**
420     * Gets the value of the mapKeyForeignKey property.
421     * 
422     * @return
423     *     possible object is
424     *     {@link ForeignKey }
425     *     
426     */
427    public ForeignKey getMapKeyForeignKey() {
428        return mapKeyForeignKey;
429    }
430
431    /**
432     * Sets the value of the mapKeyForeignKey property.
433     * 
434     * @param value
435     *     allowed object is
436     *     {@link ForeignKey }
437     *     
438     */
439    public void setMapKeyForeignKey(ForeignKey value) {
440        this.mapKeyForeignKey = value;
441    }
442
443    /**
444     * Gets the value of the column property.
445     * 
446     * @return
447     *     possible object is
448     *     {@link Column }
449     *     
450     */
451    public Column getColumn() {
452        return column;
453    }
454
455    /**
456     * Sets the value of the column property.
457     * 
458     * @param value
459     *     allowed object is
460     *     {@link Column }
461     *     
462     */
463    public void setColumn(Column value) {
464        this.column = value;
465    }
466
467    /**
468     * Gets the value of the temporal property.
469     * 
470     * @return
471     *     possible object is
472     *     {@link TemporalType }
473     *     
474     */
475    public TemporalType getTemporal() {
476        return temporal;
477    }
478
479    /**
480     * Sets the value of the temporal property.
481     * 
482     * @param value
483     *     allowed object is
484     *     {@link TemporalType }
485     *     
486     */
487    public void setTemporal(TemporalType value) {
488        this.temporal = value;
489    }
490
491    /**
492     * Gets the value of the enumerated property.
493     * 
494     * @return
495     *     possible object is
496     *     {@link EnumType }
497     *     
498     */
499    public EnumType getEnumerated() {
500        return enumerated;
501    }
502
503    /**
504     * Sets the value of the enumerated property.
505     * 
506     * @param value
507     *     allowed object is
508     *     {@link EnumType }
509     *     
510     */
511    public void setEnumerated(EnumType value) {
512        this.enumerated = value;
513    }
514
515    /**
516     * Gets the value of the lob property.
517     * 
518     * @return
519     *     possible object is
520     *     {@link Lob }
521     *     
522     */
523    public Lob getLob() {
524        return lob;
525    }
526
527    /**
528     * Sets the value of the lob property.
529     * 
530     * @param value
531     *     allowed object is
532     *     {@link Lob }
533     *     
534     */
535    public void setLob(Lob value) {
536        this.lob = value;
537    }
538
539    /**
540     * Gets the value of the attributeOverride property.
541     * 
542     * <p>
543     * This accessor method returns a reference to the live list,
544     * not a snapshot. Therefore any modification you make to the
545     * returned list will be present inside the JAXB object.
546     * This is why there is not a <CODE>set</CODE> method for the attributeOverride property.
547     * 
548     * <p>
549     * For example, to add a new item, do as follows:
550     * <pre>
551     *    getAttributeOverride().add(newItem);
552     * </pre>
553     * 
554     * 
555     * <p>
556     * Objects of the following type(s) are allowed in the list
557     * {@link AttributeOverride }
558     * 
559     * 
560     */
561    public List<AttributeOverride> getAttributeOverride() {
562        if (attributeOverride == null) {
563            attributeOverride = new ArrayList<AttributeOverride>();
564        }
565        return this.attributeOverride;
566    }
567
568    /**
569     * Gets the value of the associationOverride property.
570     * 
571     * <p>
572     * This accessor method returns a reference to the live list,
573     * not a snapshot. Therefore any modification you make to the
574     * returned list will be present inside the JAXB object.
575     * This is why there is not a <CODE>set</CODE> method for the associationOverride property.
576     * 
577     * <p>
578     * For example, to add a new item, do as follows:
579     * <pre>
580     *    getAssociationOverride().add(newItem);
581     * </pre>
582     * 
583     * 
584     * <p>
585     * Objects of the following type(s) are allowed in the list
586     * {@link AssociationOverride }
587     * 
588     * 
589     */
590    public List<AssociationOverride> getAssociationOverride() {
591        if (associationOverride == null) {
592            associationOverride = new ArrayList<AssociationOverride>();
593        }
594        return this.associationOverride;
595    }
596
597    /**
598     * Gets the value of the convert property.
599     * 
600     * <p>
601     * This accessor method returns a reference to the live list,
602     * not a snapshot. Therefore any modification you make to the
603     * returned list will be present inside the JAXB object.
604     * This is why there is not a <CODE>set</CODE> method for the convert property.
605     * 
606     * <p>
607     * For example, to add a new item, do as follows:
608     * <pre>
609     *    getConvert().add(newItem);
610     * </pre>
611     * 
612     * 
613     * <p>
614     * Objects of the following type(s) are allowed in the list
615     * {@link Convert }
616     * 
617     * 
618     */
619    public List<Convert> getConvert() {
620        if (convert == null) {
621            convert = new ArrayList<Convert>();
622        }
623        return this.convert;
624    }
625
626    /**
627     * Gets the value of the collectionTable property.
628     * 
629     * @return
630     *     possible object is
631     *     {@link CollectionTable }
632     *     
633     */
634    public CollectionTable getCollectionTable() {
635        return collectionTable;
636    }
637
638    /**
639     * Sets the value of the collectionTable property.
640     * 
641     * @param value
642     *     allowed object is
643     *     {@link CollectionTable }
644     *     
645     */
646    public void setCollectionTable(CollectionTable value) {
647        this.collectionTable = value;
648    }
649
650    /**
651     * Gets the value of the name property.
652     * 
653     * @return
654     *     possible object is
655     *     {@link String }
656     *     
657     */
658    public String getName() {
659        return name;
660    }
661
662    /**
663     * Sets the value of the name property.
664     * 
665     * @param value
666     *     allowed object is
667     *     {@link String }
668     *     
669     */
670    public void setName(String value) {
671        this.name = value;
672    }
673
674    /**
675     * Gets the value of the targetClass property.
676     * 
677     * @return
678     *     possible object is
679     *     {@link String }
680     *     
681     */
682    public String getTargetClass() {
683        return targetClass;
684    }
685
686    /**
687     * Sets the value of the targetClass property.
688     * 
689     * @param value
690     *     allowed object is
691     *     {@link String }
692     *     
693     */
694    public void setTargetClass(String value) {
695        this.targetClass = value;
696    }
697
698    /**
699     * Gets the value of the fetch property.
700     * 
701     * @return
702     *     possible object is
703     *     {@link FetchType }
704     *     
705     */
706    public FetchType getFetch() {
707        return fetch;
708    }
709
710    /**
711     * Sets the value of the fetch property.
712     * 
713     * @param value
714     *     allowed object is
715     *     {@link FetchType }
716     *     
717     */
718    public void setFetch(FetchType value) {
719        this.fetch = value;
720    }
721
722    /**
723     * Gets the value of the access property.
724     * 
725     * @return
726     *     possible object is
727     *     {@link AccessType }
728     *     
729     */
730    public AccessType getAccess() {
731        return access;
732    }
733
734    /**
735     * Sets the value of the access property.
736     * 
737     * @param value
738     *     allowed object is
739     *     {@link AccessType }
740     *     
741     */
742    public void setAccess(AccessType value) {
743        this.access = value;
744    }
745
746}