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 ManyToMany {
026 *           Class targetEntity() default void.class;
027 *           CascadeType[] cascade() default {};
028 *           FetchType fetch() default LAZY;
029 *           String mappedBy() default "";
030 *         }
031 * 
032 *       
033 * 
034 * <p>Java class for many-to-many complex type.
035 * 
036 * <p>The following schema fragment specifies the expected content contained within this class.
037 * 
038 * <pre>
039 * &lt;complexType name="many-to-many"&gt;
040 *   &lt;complexContent&gt;
041 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
042 *       &lt;sequence&gt;
043 *         &lt;choice&gt;
044 *           &lt;element name="order-by" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}order-by" minOccurs="0"/&gt;
045 *           &lt;element name="order-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}order-column" minOccurs="0"/&gt;
046 *         &lt;/choice&gt;
047 *         &lt;choice&gt;
048 *           &lt;element name="map-key" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key" minOccurs="0"/&gt;
049 *           &lt;sequence&gt;
050 *             &lt;element name="map-key-class" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key-class" minOccurs="0"/&gt;
051 *             &lt;choice&gt;
052 *               &lt;element name="map-key-temporal" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}temporal" minOccurs="0"/&gt;
053 *               &lt;element name="map-key-enumerated" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}enumerated" minOccurs="0"/&gt;
054 *               &lt;sequence&gt;
055 *                 &lt;element name="map-key-attribute-override" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}attribute-override" maxOccurs="unbounded" minOccurs="0"/&gt;
056 *                 &lt;element name="map-key-convert" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}convert" maxOccurs="unbounded" minOccurs="0"/&gt;
057 *               &lt;/sequence&gt;
058 *             &lt;/choice&gt;
059 *             &lt;choice&gt;
060 *               &lt;element name="map-key-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}map-key-column" minOccurs="0"/&gt;
061 *               &lt;sequence&gt;
062 *                 &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;
063 *                 &lt;element name="map-key-foreign-key" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}foreign-key" minOccurs="0"/&gt;
064 *               &lt;/sequence&gt;
065 *             &lt;/choice&gt;
066 *           &lt;/sequence&gt;
067 *         &lt;/choice&gt;
068 *         &lt;element name="join-table" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}join-table" minOccurs="0"/&gt;
069 *         &lt;element name="cascade" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}cascade-type" minOccurs="0"/&gt;
070 *       &lt;/sequence&gt;
071 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
072 *       &lt;attribute name="target-entity" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
073 *       &lt;attribute name="fetch" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}fetch-type" /&gt;
074 *       &lt;attribute name="access" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}access-type" /&gt;
075 *       &lt;attribute name="mapped-by" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
076 *     &lt;/restriction&gt;
077 *   &lt;/complexContent&gt;
078 * &lt;/complexType&gt;
079 * </pre>
080 * 
081 * 
082 */
083@XmlAccessorType(XmlAccessType.FIELD)
084@XmlType(name = "many-to-many", propOrder = {
085    "orderBy",
086    "orderColumn",
087    "mapKey",
088    "mapKeyClass",
089    "mapKeyTemporal",
090    "mapKeyEnumerated",
091    "mapKeyAttributeOverride",
092    "mapKeyConvert",
093    "mapKeyColumn",
094    "mapKeyJoinColumn",
095    "mapKeyForeignKey",
096    "joinTable",
097    "cascade"
098})
099public class ManyToMany {
100
101    @XmlElement(name = "order-by")
102    protected String orderBy;
103    @XmlElement(name = "order-column")
104    protected OrderColumn orderColumn;
105    @XmlElement(name = "map-key")
106    protected MapKey mapKey;
107    @XmlElement(name = "map-key-class")
108    protected MapKeyClass mapKeyClass;
109    @XmlElement(name = "map-key-temporal")
110    @XmlSchemaType(name = "token")
111    protected TemporalType mapKeyTemporal;
112    @XmlElement(name = "map-key-enumerated")
113    @XmlSchemaType(name = "token")
114    protected EnumType mapKeyEnumerated;
115    @XmlElement(name = "map-key-attribute-override")
116    protected List<AttributeOverride> mapKeyAttributeOverride;
117    @XmlElement(name = "map-key-convert")
118    protected List<Convert> mapKeyConvert;
119    @XmlElement(name = "map-key-column")
120    protected MapKeyColumn mapKeyColumn;
121    @XmlElement(name = "map-key-join-column")
122    protected List<MapKeyJoinColumn> mapKeyJoinColumn;
123    @XmlElement(name = "map-key-foreign-key")
124    protected ForeignKey mapKeyForeignKey;
125    @XmlElement(name = "join-table")
126    protected JoinTable joinTable;
127    protected CascadeType cascade;
128    @XmlAttribute(name = "name", required = true)
129    protected String name;
130    @XmlAttribute(name = "target-entity")
131    protected String targetEntity;
132    @XmlAttribute(name = "fetch")
133    protected FetchType fetch;
134    @XmlAttribute(name = "access")
135    protected AccessType access;
136    @XmlAttribute(name = "mapped-by")
137    protected String mappedBy;
138
139    /**
140     * Gets the value of the orderBy property.
141     * 
142     * @return
143     *     possible object is
144     *     {@link String }
145     *     
146     */
147    public String getOrderBy() {
148        return orderBy;
149    }
150
151    /**
152     * Sets the value of the orderBy property.
153     * 
154     * @param value
155     *     allowed object is
156     *     {@link String }
157     *     
158     */
159    public void setOrderBy(String value) {
160        this.orderBy = value;
161    }
162
163    /**
164     * Gets the value of the orderColumn property.
165     * 
166     * @return
167     *     possible object is
168     *     {@link OrderColumn }
169     *     
170     */
171    public OrderColumn getOrderColumn() {
172        return orderColumn;
173    }
174
175    /**
176     * Sets the value of the orderColumn property.
177     * 
178     * @param value
179     *     allowed object is
180     *     {@link OrderColumn }
181     *     
182     */
183    public void setOrderColumn(OrderColumn value) {
184        this.orderColumn = value;
185    }
186
187    /**
188     * Gets the value of the mapKey property.
189     * 
190     * @return
191     *     possible object is
192     *     {@link MapKey }
193     *     
194     */
195    public MapKey getMapKey() {
196        return mapKey;
197    }
198
199    /**
200     * Sets the value of the mapKey property.
201     * 
202     * @param value
203     *     allowed object is
204     *     {@link MapKey }
205     *     
206     */
207    public void setMapKey(MapKey value) {
208        this.mapKey = value;
209    }
210
211    /**
212     * Gets the value of the mapKeyClass property.
213     * 
214     * @return
215     *     possible object is
216     *     {@link MapKeyClass }
217     *     
218     */
219    public MapKeyClass getMapKeyClass() {
220        return mapKeyClass;
221    }
222
223    /**
224     * Sets the value of the mapKeyClass property.
225     * 
226     * @param value
227     *     allowed object is
228     *     {@link MapKeyClass }
229     *     
230     */
231    public void setMapKeyClass(MapKeyClass value) {
232        this.mapKeyClass = value;
233    }
234
235    /**
236     * Gets the value of the mapKeyTemporal property.
237     * 
238     * @return
239     *     possible object is
240     *     {@link TemporalType }
241     *     
242     */
243    public TemporalType getMapKeyTemporal() {
244        return mapKeyTemporal;
245    }
246
247    /**
248     * Sets the value of the mapKeyTemporal property.
249     * 
250     * @param value
251     *     allowed object is
252     *     {@link TemporalType }
253     *     
254     */
255    public void setMapKeyTemporal(TemporalType value) {
256        this.mapKeyTemporal = value;
257    }
258
259    /**
260     * Gets the value of the mapKeyEnumerated property.
261     * 
262     * @return
263     *     possible object is
264     *     {@link EnumType }
265     *     
266     */
267    public EnumType getMapKeyEnumerated() {
268        return mapKeyEnumerated;
269    }
270
271    /**
272     * Sets the value of the mapKeyEnumerated property.
273     * 
274     * @param value
275     *     allowed object is
276     *     {@link EnumType }
277     *     
278     */
279    public void setMapKeyEnumerated(EnumType value) {
280        this.mapKeyEnumerated = value;
281    }
282
283    /**
284     * Gets the value of the mapKeyAttributeOverride property.
285     * 
286     * <p>
287     * This accessor method returns a reference to the live list,
288     * not a snapshot. Therefore any modification you make to the
289     * returned list will be present inside the JAXB object.
290     * This is why there is not a <CODE>set</CODE> method for the mapKeyAttributeOverride property.
291     * 
292     * <p>
293     * For example, to add a new item, do as follows:
294     * <pre>
295     *    getMapKeyAttributeOverride().add(newItem);
296     * </pre>
297     * 
298     * 
299     * <p>
300     * Objects of the following type(s) are allowed in the list
301     * {@link AttributeOverride }
302     * 
303     * 
304     */
305    public List<AttributeOverride> getMapKeyAttributeOverride() {
306        if (mapKeyAttributeOverride == null) {
307            mapKeyAttributeOverride = new ArrayList<AttributeOverride>();
308        }
309        return this.mapKeyAttributeOverride;
310    }
311
312    /**
313     * Gets the value of the mapKeyConvert property.
314     * 
315     * <p>
316     * This accessor method returns a reference to the live list,
317     * not a snapshot. Therefore any modification you make to the
318     * returned list will be present inside the JAXB object.
319     * This is why there is not a <CODE>set</CODE> method for the mapKeyConvert property.
320     * 
321     * <p>
322     * For example, to add a new item, do as follows:
323     * <pre>
324     *    getMapKeyConvert().add(newItem);
325     * </pre>
326     * 
327     * 
328     * <p>
329     * Objects of the following type(s) are allowed in the list
330     * {@link Convert }
331     * 
332     * 
333     */
334    public List<Convert> getMapKeyConvert() {
335        if (mapKeyConvert == null) {
336            mapKeyConvert = new ArrayList<Convert>();
337        }
338        return this.mapKeyConvert;
339    }
340
341    /**
342     * Gets the value of the mapKeyColumn property.
343     * 
344     * @return
345     *     possible object is
346     *     {@link MapKeyColumn }
347     *     
348     */
349    public MapKeyColumn getMapKeyColumn() {
350        return mapKeyColumn;
351    }
352
353    /**
354     * Sets the value of the mapKeyColumn property.
355     * 
356     * @param value
357     *     allowed object is
358     *     {@link MapKeyColumn }
359     *     
360     */
361    public void setMapKeyColumn(MapKeyColumn value) {
362        this.mapKeyColumn = value;
363    }
364
365    /**
366     * Gets the value of the mapKeyJoinColumn property.
367     * 
368     * <p>
369     * This accessor method returns a reference to the live list,
370     * not a snapshot. Therefore any modification you make to the
371     * returned list will be present inside the JAXB object.
372     * This is why there is not a <CODE>set</CODE> method for the mapKeyJoinColumn property.
373     * 
374     * <p>
375     * For example, to add a new item, do as follows:
376     * <pre>
377     *    getMapKeyJoinColumn().add(newItem);
378     * </pre>
379     * 
380     * 
381     * <p>
382     * Objects of the following type(s) are allowed in the list
383     * {@link MapKeyJoinColumn }
384     * 
385     * 
386     */
387    public List<MapKeyJoinColumn> getMapKeyJoinColumn() {
388        if (mapKeyJoinColumn == null) {
389            mapKeyJoinColumn = new ArrayList<MapKeyJoinColumn>();
390        }
391        return this.mapKeyJoinColumn;
392    }
393
394    /**
395     * Gets the value of the mapKeyForeignKey property.
396     * 
397     * @return
398     *     possible object is
399     *     {@link ForeignKey }
400     *     
401     */
402    public ForeignKey getMapKeyForeignKey() {
403        return mapKeyForeignKey;
404    }
405
406    /**
407     * Sets the value of the mapKeyForeignKey property.
408     * 
409     * @param value
410     *     allowed object is
411     *     {@link ForeignKey }
412     *     
413     */
414    public void setMapKeyForeignKey(ForeignKey value) {
415        this.mapKeyForeignKey = value;
416    }
417
418    /**
419     * Gets the value of the joinTable property.
420     * 
421     * @return
422     *     possible object is
423     *     {@link JoinTable }
424     *     
425     */
426    public JoinTable getJoinTable() {
427        return joinTable;
428    }
429
430    /**
431     * Sets the value of the joinTable property.
432     * 
433     * @param value
434     *     allowed object is
435     *     {@link JoinTable }
436     *     
437     */
438    public void setJoinTable(JoinTable value) {
439        this.joinTable = value;
440    }
441
442    /**
443     * Gets the value of the cascade property.
444     * 
445     * @return
446     *     possible object is
447     *     {@link CascadeType }
448     *     
449     */
450    public CascadeType getCascade() {
451        return cascade;
452    }
453
454    /**
455     * Sets the value of the cascade property.
456     * 
457     * @param value
458     *     allowed object is
459     *     {@link CascadeType }
460     *     
461     */
462    public void setCascade(CascadeType value) {
463        this.cascade = value;
464    }
465
466    /**
467     * Gets the value of the name property.
468     * 
469     * @return
470     *     possible object is
471     *     {@link String }
472     *     
473     */
474    public String getName() {
475        return name;
476    }
477
478    /**
479     * Sets the value of the name property.
480     * 
481     * @param value
482     *     allowed object is
483     *     {@link String }
484     *     
485     */
486    public void setName(String value) {
487        this.name = value;
488    }
489
490    /**
491     * Gets the value of the targetEntity property.
492     * 
493     * @return
494     *     possible object is
495     *     {@link String }
496     *     
497     */
498    public String getTargetEntity() {
499        return targetEntity;
500    }
501
502    /**
503     * Sets the value of the targetEntity property.
504     * 
505     * @param value
506     *     allowed object is
507     *     {@link String }
508     *     
509     */
510    public void setTargetEntity(String value) {
511        this.targetEntity = value;
512    }
513
514    /**
515     * Gets the value of the fetch property.
516     * 
517     * @return
518     *     possible object is
519     *     {@link FetchType }
520     *     
521     */
522    public FetchType getFetch() {
523        return fetch;
524    }
525
526    /**
527     * Sets the value of the fetch property.
528     * 
529     * @param value
530     *     allowed object is
531     *     {@link FetchType }
532     *     
533     */
534    public void setFetch(FetchType value) {
535        this.fetch = value;
536    }
537
538    /**
539     * Gets the value of the access property.
540     * 
541     * @return
542     *     possible object is
543     *     {@link AccessType }
544     *     
545     */
546    public AccessType getAccess() {
547        return access;
548    }
549
550    /**
551     * Sets the value of the access property.
552     * 
553     * @param value
554     *     allowed object is
555     *     {@link AccessType }
556     *     
557     */
558    public void setAccess(AccessType value) {
559        this.access = value;
560    }
561
562    /**
563     * Gets the value of the mappedBy property.
564     * 
565     * @return
566     *     possible object is
567     *     {@link String }
568     *     
569     */
570    public String getMappedBy() {
571        return mappedBy;
572    }
573
574    /**
575     * Sets the value of the mappedBy property.
576     * 
577     * @param value
578     *     allowed object is
579     *     {@link String }
580     *     
581     */
582    public void setMappedBy(String value) {
583        this.mappedBy = value;
584    }
585
586}