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.XmlRootElement;
018import javax.xml.bind.annotation.XmlSchemaType;
019import javax.xml.bind.annotation.XmlType;
020import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
021import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
022
023
024/**
025 * 
026 * 
027 *         The entity-mappings element is the root element of a mapping
028 *         file. It contains the following four types of elements:
029 * 
030 *         1. The persistence-unit-metadata element contains metadata
031 *         for the entire persistence unit. It is undefined if this element
032 *         occurs in multiple mapping files within the same persistence unit.
033 *         
034 *         2. The package, schema, catalog and access elements apply to all of
035 *         the entity, mapped-superclass and embeddable elements defined in
036 *         the same file in which they occur.
037 * 
038 *         3. The sequence-generator, table-generator, converter, named-query,
039 *         named-native-query, named-stored-procedure-query, and 
040 *         sql-result-set-mapping elements are global to the persistence
041 *         unit. It is undefined to have more than one sequence-generator
042 *         or table-generator of the same name in the same or different
043 *         mapping files in a persistence unit. It is undefined to have
044 *         more than one named-query, named-native-query, sql-result-set-mapping,
045 *         or named-stored-procedure-query of the same name in the same 
046 *         or different mapping files in a persistence unit.  It is also
047 *         undefined to have more than one converter for the same target
048 *         type in the same or different mapping files in a persistence unit.
049 * 
050 *         4. The entity, mapped-superclass and embeddable elements each define
051 *         the mapping information for a managed persistent class. The mapping
052 *         information contained in these elements may be complete or it may
053 *         be partial.
054 * 
055 *         
056 * 
057 * <p>Java class for anonymous complex type.
058 * 
059 * <p>The following schema fragment specifies the expected content contained within this class.
060 * 
061 * <pre>
062 * &lt;complexType&gt;
063 *   &lt;complexContent&gt;
064 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
065 *       &lt;sequence&gt;
066 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
067 *         &lt;element name="persistence-unit-metadata" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}persistence-unit-metadata" minOccurs="0"/&gt;
068 *         &lt;element name="package" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
069 *         &lt;element name="schema" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
070 *         &lt;element name="catalog" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
071 *         &lt;element name="access" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}access-type" minOccurs="0"/&gt;
072 *         &lt;element name="sequence-generator" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}sequence-generator" maxOccurs="unbounded" minOccurs="0"/&gt;
073 *         &lt;element name="table-generator" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}table-generator" maxOccurs="unbounded" minOccurs="0"/&gt;
074 *         &lt;element name="named-query" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-query" maxOccurs="unbounded" minOccurs="0"/&gt;
075 *         &lt;element name="named-native-query" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-native-query" maxOccurs="unbounded" minOccurs="0"/&gt;
076 *         &lt;element name="named-stored-procedure-query" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-stored-procedure-query" maxOccurs="unbounded" minOccurs="0"/&gt;
077 *         &lt;element name="sql-result-set-mapping" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}sql-result-set-mapping" maxOccurs="unbounded" minOccurs="0"/&gt;
078 *         &lt;element name="mapped-superclass" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}mapped-superclass" maxOccurs="unbounded" minOccurs="0"/&gt;
079 *         &lt;element name="entity" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}entity" maxOccurs="unbounded" minOccurs="0"/&gt;
080 *         &lt;element name="embeddable" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}embeddable" maxOccurs="unbounded" minOccurs="0"/&gt;
081 *         &lt;element name="converter" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}converter" maxOccurs="unbounded" minOccurs="0"/&gt;
082 *       &lt;/sequence&gt;
083 *       &lt;attribute name="version" use="required" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}versionType" fixed="2.2" /&gt;
084 *     &lt;/restriction&gt;
085 *   &lt;/complexContent&gt;
086 * &lt;/complexType&gt;
087 * </pre>
088 * 
089 * 
090 */
091@XmlAccessorType(XmlAccessType.FIELD)
092@XmlType(name = "", propOrder = {
093    "description",
094    "persistenceUnitMetadata",
095    "_package",
096    "schema",
097    "catalog",
098    "access",
099    "sequenceGenerator",
100    "tableGenerator",
101    "namedQuery",
102    "namedNativeQuery",
103    "namedStoredProcedureQuery",
104    "sqlResultSetMapping",
105    "mappedSuperclass",
106    "entity",
107    "embeddable",
108    "converter"
109})
110@XmlRootElement(name = "entity-mappings")
111public class EntityMappings {
112
113    protected String description;
114    @XmlElement(name = "persistence-unit-metadata")
115    protected PersistenceUnitMetadata persistenceUnitMetadata;
116    @XmlElement(name = "package")
117    protected String _package;
118    protected String schema;
119    protected String catalog;
120    @XmlSchemaType(name = "token")
121    protected AccessType access;
122    @XmlElement(name = "sequence-generator")
123    protected List<SequenceGenerator> sequenceGenerator;
124    @XmlElement(name = "table-generator")
125    protected List<TableGenerator> tableGenerator;
126    @XmlElement(name = "named-query")
127    protected List<NamedQuery> namedQuery;
128    @XmlElement(name = "named-native-query")
129    protected List<NamedNativeQuery> namedNativeQuery;
130    @XmlElement(name = "named-stored-procedure-query")
131    protected List<NamedStoredProcedureQuery> namedStoredProcedureQuery;
132    @XmlElement(name = "sql-result-set-mapping")
133    protected List<SqlResultSetMapping> sqlResultSetMapping;
134    @XmlElement(name = "mapped-superclass")
135    protected List<MappedSuperclass> mappedSuperclass;
136    protected List<Entity> entity;
137    protected List<Embeddable> embeddable;
138    protected List<Converter> converter;
139    @XmlAttribute(name = "version", required = true)
140    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
141    protected String version;
142
143    /**
144     * Gets the value of the description property.
145     * 
146     * @return
147     *     possible object is
148     *     {@link String }
149     *     
150     */
151    public String getDescription() {
152        return description;
153    }
154
155    /**
156     * Sets the value of the description property.
157     * 
158     * @param value
159     *     allowed object is
160     *     {@link String }
161     *     
162     */
163    public void setDescription(String value) {
164        this.description = value;
165    }
166
167    /**
168     * Gets the value of the persistenceUnitMetadata property.
169     * 
170     * @return
171     *     possible object is
172     *     {@link PersistenceUnitMetadata }
173     *     
174     */
175    public PersistenceUnitMetadata getPersistenceUnitMetadata() {
176        return persistenceUnitMetadata;
177    }
178
179    /**
180     * Sets the value of the persistenceUnitMetadata property.
181     * 
182     * @param value
183     *     allowed object is
184     *     {@link PersistenceUnitMetadata }
185     *     
186     */
187    public void setPersistenceUnitMetadata(PersistenceUnitMetadata value) {
188        this.persistenceUnitMetadata = value;
189    }
190
191    /**
192     * Gets the value of the package property.
193     * 
194     * @return
195     *     possible object is
196     *     {@link String }
197     *     
198     */
199    public String getPackage() {
200        return _package;
201    }
202
203    /**
204     * Sets the value of the package property.
205     * 
206     * @param value
207     *     allowed object is
208     *     {@link String }
209     *     
210     */
211    public void setPackage(String value) {
212        this._package = value;
213    }
214
215    /**
216     * Gets the value of the schema property.
217     * 
218     * @return
219     *     possible object is
220     *     {@link String }
221     *     
222     */
223    public String getSchema() {
224        return schema;
225    }
226
227    /**
228     * Sets the value of the schema property.
229     * 
230     * @param value
231     *     allowed object is
232     *     {@link String }
233     *     
234     */
235    public void setSchema(String value) {
236        this.schema = value;
237    }
238
239    /**
240     * Gets the value of the catalog property.
241     * 
242     * @return
243     *     possible object is
244     *     {@link String }
245     *     
246     */
247    public String getCatalog() {
248        return catalog;
249    }
250
251    /**
252     * Sets the value of the catalog property.
253     * 
254     * @param value
255     *     allowed object is
256     *     {@link String }
257     *     
258     */
259    public void setCatalog(String value) {
260        this.catalog = value;
261    }
262
263    /**
264     * Gets the value of the access property.
265     * 
266     * @return
267     *     possible object is
268     *     {@link AccessType }
269     *     
270     */
271    public AccessType getAccess() {
272        return access;
273    }
274
275    /**
276     * Sets the value of the access property.
277     * 
278     * @param value
279     *     allowed object is
280     *     {@link AccessType }
281     *     
282     */
283    public void setAccess(AccessType value) {
284        this.access = value;
285    }
286
287    /**
288     * Gets the value of the sequenceGenerator property.
289     * 
290     * <p>
291     * This accessor method returns a reference to the live list,
292     * not a snapshot. Therefore any modification you make to the
293     * returned list will be present inside the JAXB object.
294     * This is why there is not a <CODE>set</CODE> method for the sequenceGenerator property.
295     * 
296     * <p>
297     * For example, to add a new item, do as follows:
298     * <pre>
299     *    getSequenceGenerator().add(newItem);
300     * </pre>
301     * 
302     * 
303     * <p>
304     * Objects of the following type(s) are allowed in the list
305     * {@link SequenceGenerator }
306     * 
307     * 
308     */
309    public List<SequenceGenerator> getSequenceGenerator() {
310        if (sequenceGenerator == null) {
311            sequenceGenerator = new ArrayList<SequenceGenerator>();
312        }
313        return this.sequenceGenerator;
314    }
315
316    /**
317     * Gets the value of the tableGenerator property.
318     * 
319     * <p>
320     * This accessor method returns a reference to the live list,
321     * not a snapshot. Therefore any modification you make to the
322     * returned list will be present inside the JAXB object.
323     * This is why there is not a <CODE>set</CODE> method for the tableGenerator property.
324     * 
325     * <p>
326     * For example, to add a new item, do as follows:
327     * <pre>
328     *    getTableGenerator().add(newItem);
329     * </pre>
330     * 
331     * 
332     * <p>
333     * Objects of the following type(s) are allowed in the list
334     * {@link TableGenerator }
335     * 
336     * 
337     */
338    public List<TableGenerator> getTableGenerator() {
339        if (tableGenerator == null) {
340            tableGenerator = new ArrayList<TableGenerator>();
341        }
342        return this.tableGenerator;
343    }
344
345    /**
346     * Gets the value of the namedQuery property.
347     * 
348     * <p>
349     * This accessor method returns a reference to the live list,
350     * not a snapshot. Therefore any modification you make to the
351     * returned list will be present inside the JAXB object.
352     * This is why there is not a <CODE>set</CODE> method for the namedQuery property.
353     * 
354     * <p>
355     * For example, to add a new item, do as follows:
356     * <pre>
357     *    getNamedQuery().add(newItem);
358     * </pre>
359     * 
360     * 
361     * <p>
362     * Objects of the following type(s) are allowed in the list
363     * {@link NamedQuery }
364     * 
365     * 
366     */
367    public List<NamedQuery> getNamedQuery() {
368        if (namedQuery == null) {
369            namedQuery = new ArrayList<NamedQuery>();
370        }
371        return this.namedQuery;
372    }
373
374    /**
375     * Gets the value of the namedNativeQuery property.
376     * 
377     * <p>
378     * This accessor method returns a reference to the live list,
379     * not a snapshot. Therefore any modification you make to the
380     * returned list will be present inside the JAXB object.
381     * This is why there is not a <CODE>set</CODE> method for the namedNativeQuery property.
382     * 
383     * <p>
384     * For example, to add a new item, do as follows:
385     * <pre>
386     *    getNamedNativeQuery().add(newItem);
387     * </pre>
388     * 
389     * 
390     * <p>
391     * Objects of the following type(s) are allowed in the list
392     * {@link NamedNativeQuery }
393     * 
394     * 
395     */
396    public List<NamedNativeQuery> getNamedNativeQuery() {
397        if (namedNativeQuery == null) {
398            namedNativeQuery = new ArrayList<NamedNativeQuery>();
399        }
400        return this.namedNativeQuery;
401    }
402
403    /**
404     * Gets the value of the namedStoredProcedureQuery property.
405     * 
406     * <p>
407     * This accessor method returns a reference to the live list,
408     * not a snapshot. Therefore any modification you make to the
409     * returned list will be present inside the JAXB object.
410     * This is why there is not a <CODE>set</CODE> method for the namedStoredProcedureQuery property.
411     * 
412     * <p>
413     * For example, to add a new item, do as follows:
414     * <pre>
415     *    getNamedStoredProcedureQuery().add(newItem);
416     * </pre>
417     * 
418     * 
419     * <p>
420     * Objects of the following type(s) are allowed in the list
421     * {@link NamedStoredProcedureQuery }
422     * 
423     * 
424     */
425    public List<NamedStoredProcedureQuery> getNamedStoredProcedureQuery() {
426        if (namedStoredProcedureQuery == null) {
427            namedStoredProcedureQuery = new ArrayList<NamedStoredProcedureQuery>();
428        }
429        return this.namedStoredProcedureQuery;
430    }
431
432    /**
433     * Gets the value of the sqlResultSetMapping property.
434     * 
435     * <p>
436     * This accessor method returns a reference to the live list,
437     * not a snapshot. Therefore any modification you make to the
438     * returned list will be present inside the JAXB object.
439     * This is why there is not a <CODE>set</CODE> method for the sqlResultSetMapping property.
440     * 
441     * <p>
442     * For example, to add a new item, do as follows:
443     * <pre>
444     *    getSqlResultSetMapping().add(newItem);
445     * </pre>
446     * 
447     * 
448     * <p>
449     * Objects of the following type(s) are allowed in the list
450     * {@link SqlResultSetMapping }
451     * 
452     * 
453     */
454    public List<SqlResultSetMapping> getSqlResultSetMapping() {
455        if (sqlResultSetMapping == null) {
456            sqlResultSetMapping = new ArrayList<SqlResultSetMapping>();
457        }
458        return this.sqlResultSetMapping;
459    }
460
461    /**
462     * Gets the value of the mappedSuperclass property.
463     * 
464     * <p>
465     * This accessor method returns a reference to the live list,
466     * not a snapshot. Therefore any modification you make to the
467     * returned list will be present inside the JAXB object.
468     * This is why there is not a <CODE>set</CODE> method for the mappedSuperclass property.
469     * 
470     * <p>
471     * For example, to add a new item, do as follows:
472     * <pre>
473     *    getMappedSuperclass().add(newItem);
474     * </pre>
475     * 
476     * 
477     * <p>
478     * Objects of the following type(s) are allowed in the list
479     * {@link MappedSuperclass }
480     * 
481     * 
482     */
483    public List<MappedSuperclass> getMappedSuperclass() {
484        if (mappedSuperclass == null) {
485            mappedSuperclass = new ArrayList<MappedSuperclass>();
486        }
487        return this.mappedSuperclass;
488    }
489
490    /**
491     * Gets the value of the entity property.
492     * 
493     * <p>
494     * This accessor method returns a reference to the live list,
495     * not a snapshot. Therefore any modification you make to the
496     * returned list will be present inside the JAXB object.
497     * This is why there is not a <CODE>set</CODE> method for the entity property.
498     * 
499     * <p>
500     * For example, to add a new item, do as follows:
501     * <pre>
502     *    getEntity().add(newItem);
503     * </pre>
504     * 
505     * 
506     * <p>
507     * Objects of the following type(s) are allowed in the list
508     * {@link Entity }
509     * 
510     * 
511     */
512    public List<Entity> getEntity() {
513        if (entity == null) {
514            entity = new ArrayList<Entity>();
515        }
516        return this.entity;
517    }
518
519    /**
520     * Gets the value of the embeddable property.
521     * 
522     * <p>
523     * This accessor method returns a reference to the live list,
524     * not a snapshot. Therefore any modification you make to the
525     * returned list will be present inside the JAXB object.
526     * This is why there is not a <CODE>set</CODE> method for the embeddable property.
527     * 
528     * <p>
529     * For example, to add a new item, do as follows:
530     * <pre>
531     *    getEmbeddable().add(newItem);
532     * </pre>
533     * 
534     * 
535     * <p>
536     * Objects of the following type(s) are allowed in the list
537     * {@link Embeddable }
538     * 
539     * 
540     */
541    public List<Embeddable> getEmbeddable() {
542        if (embeddable == null) {
543            embeddable = new ArrayList<Embeddable>();
544        }
545        return this.embeddable;
546    }
547
548    /**
549     * Gets the value of the converter property.
550     * 
551     * <p>
552     * This accessor method returns a reference to the live list,
553     * not a snapshot. Therefore any modification you make to the
554     * returned list will be present inside the JAXB object.
555     * This is why there is not a <CODE>set</CODE> method for the converter property.
556     * 
557     * <p>
558     * For example, to add a new item, do as follows:
559     * <pre>
560     *    getConverter().add(newItem);
561     * </pre>
562     * 
563     * 
564     * <p>
565     * Objects of the following type(s) are allowed in the list
566     * {@link Converter }
567     * 
568     * 
569     */
570    public List<Converter> getConverter() {
571        if (converter == null) {
572            converter = new ArrayList<Converter>();
573        }
574        return this.converter;
575    }
576
577    /**
578     * Gets the value of the version property.
579     * 
580     * @return
581     *     possible object is
582     *     {@link String }
583     *     
584     */
585    public String getVersion() {
586        if (version == null) {
587            return "2.2";
588        } else {
589            return version;
590        }
591    }
592
593    /**
594     * Sets the value of the version property.
595     * 
596     * @param value
597     *     allowed object is
598     *     {@link String }
599     *     
600     */
601    public void setVersion(String value) {
602        this.version = value;
603    }
604
605}