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.XmlType;
018
019
020/**
021 * 
022 * 
023 *         Defines the settings and mappings for an entity. Is allowed to be
024 *         sparsely populated and used in conjunction with the annotations.
025 *         Alternatively, the metadata-complete attribute can be used to 
026 *         indicate that no annotations on the entity class (and its fields
027 *         or properties) are to be processed. If this is the case then 
028 *         the defaulting rules for the entity and its subelements will 
029 *         be recursively applied.
030 * 
031 *         @Target(TYPE) @Retention(RUNTIME)
032 *           public @interface Entity {
033 *           String name() default "";
034 *         }
035 * 
036 *       
037 * 
038 * <p>Java class for entity complex type.
039 * 
040 * <p>The following schema fragment specifies the expected content contained within this class.
041 * 
042 * <pre>
043 * &lt;complexType name="entity"&gt;
044 *   &lt;complexContent&gt;
045 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
046 *       &lt;sequence&gt;
047 *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
048 *         &lt;element name="table" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}table" minOccurs="0"/&gt;
049 *         &lt;element name="secondary-table" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}secondary-table" maxOccurs="unbounded" minOccurs="0"/&gt;
050 *         &lt;sequence&gt;
051 *           &lt;element name="primary-key-join-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}primary-key-join-column" maxOccurs="unbounded" minOccurs="0"/&gt;
052 *           &lt;element name="primary-key-foreign-key" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}foreign-key" minOccurs="0"/&gt;
053 *         &lt;/sequence&gt;
054 *         &lt;element name="id-class" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}id-class" minOccurs="0"/&gt;
055 *         &lt;element name="inheritance" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}inheritance" minOccurs="0"/&gt;
056 *         &lt;element name="discriminator-value" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}discriminator-value" minOccurs="0"/&gt;
057 *         &lt;element name="discriminator-column" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}discriminator-column" minOccurs="0"/&gt;
058 *         &lt;element name="sequence-generator" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}sequence-generator" minOccurs="0"/&gt;
059 *         &lt;element name="table-generator" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}table-generator" minOccurs="0"/&gt;
060 *         &lt;element name="named-query" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-query" maxOccurs="unbounded" minOccurs="0"/&gt;
061 *         &lt;element name="named-native-query" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-native-query" maxOccurs="unbounded" minOccurs="0"/&gt;
062 *         &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;
063 *         &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;
064 *         &lt;element name="exclude-default-listeners" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}emptyType" minOccurs="0"/&gt;
065 *         &lt;element name="exclude-superclass-listeners" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}emptyType" minOccurs="0"/&gt;
066 *         &lt;element name="entity-listeners" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}entity-listeners" minOccurs="0"/&gt;
067 *         &lt;element name="pre-persist" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}pre-persist" minOccurs="0"/&gt;
068 *         &lt;element name="post-persist" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}post-persist" minOccurs="0"/&gt;
069 *         &lt;element name="pre-remove" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}pre-remove" minOccurs="0"/&gt;
070 *         &lt;element name="post-remove" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}post-remove" minOccurs="0"/&gt;
071 *         &lt;element name="pre-update" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}pre-update" minOccurs="0"/&gt;
072 *         &lt;element name="post-update" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}post-update" minOccurs="0"/&gt;
073 *         &lt;element name="post-load" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}post-load" minOccurs="0"/&gt;
074 *         &lt;element name="attribute-override" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}attribute-override" maxOccurs="unbounded" minOccurs="0"/&gt;
075 *         &lt;element name="association-override" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}association-override" maxOccurs="unbounded" minOccurs="0"/&gt;
076 *         &lt;element name="convert" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}convert" maxOccurs="unbounded" minOccurs="0"/&gt;
077 *         &lt;element name="named-entity-graph" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}named-entity-graph" maxOccurs="unbounded" minOccurs="0"/&gt;
078 *         &lt;element name="attributes" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}attributes" minOccurs="0"/&gt;
079 *       &lt;/sequence&gt;
080 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
081 *       &lt;attribute name="class" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
082 *       &lt;attribute name="access" type="{http://xmlns.jcp.org/xml/ns/persistence/orm}access-type" /&gt;
083 *       &lt;attribute name="cacheable" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
084 *       &lt;attribute name="metadata-complete" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
085 *     &lt;/restriction&gt;
086 *   &lt;/complexContent&gt;
087 * &lt;/complexType&gt;
088 * </pre>
089 * 
090 * 
091 */
092@XmlAccessorType(XmlAccessType.FIELD)
093@XmlType(name = "entity", propOrder = {
094    "description",
095    "table",
096    "secondaryTable",
097    "primaryKeyJoinColumn",
098    "primaryKeyForeignKey",
099    "idClass",
100    "inheritance",
101    "discriminatorValue",
102    "discriminatorColumn",
103    "sequenceGenerator",
104    "tableGenerator",
105    "namedQuery",
106    "namedNativeQuery",
107    "namedStoredProcedureQuery",
108    "sqlResultSetMapping",
109    "excludeDefaultListeners",
110    "excludeSuperclassListeners",
111    "entityListeners",
112    "prePersist",
113    "postPersist",
114    "preRemove",
115    "postRemove",
116    "preUpdate",
117    "postUpdate",
118    "postLoad",
119    "attributeOverride",
120    "associationOverride",
121    "convert",
122    "namedEntityGraph",
123    "attributes"
124})
125public class Entity {
126
127    protected String description;
128    protected Table table;
129    @XmlElement(name = "secondary-table")
130    protected List<SecondaryTable> secondaryTable;
131    @XmlElement(name = "primary-key-join-column")
132    protected List<PrimaryKeyJoinColumn> primaryKeyJoinColumn;
133    @XmlElement(name = "primary-key-foreign-key")
134    protected ForeignKey primaryKeyForeignKey;
135    @XmlElement(name = "id-class")
136    protected IdClass idClass;
137    protected Inheritance inheritance;
138    @XmlElement(name = "discriminator-value")
139    protected String discriminatorValue;
140    @XmlElement(name = "discriminator-column")
141    protected DiscriminatorColumn discriminatorColumn;
142    @XmlElement(name = "sequence-generator")
143    protected SequenceGenerator sequenceGenerator;
144    @XmlElement(name = "table-generator")
145    protected TableGenerator tableGenerator;
146    @XmlElement(name = "named-query")
147    protected List<NamedQuery> namedQuery;
148    @XmlElement(name = "named-native-query")
149    protected List<NamedNativeQuery> namedNativeQuery;
150    @XmlElement(name = "named-stored-procedure-query")
151    protected List<NamedStoredProcedureQuery> namedStoredProcedureQuery;
152    @XmlElement(name = "sql-result-set-mapping")
153    protected List<SqlResultSetMapping> sqlResultSetMapping;
154    @XmlElement(name = "exclude-default-listeners")
155    protected EmptyType excludeDefaultListeners;
156    @XmlElement(name = "exclude-superclass-listeners")
157    protected EmptyType excludeSuperclassListeners;
158    @XmlElement(name = "entity-listeners")
159    protected EntityListeners entityListeners;
160    @XmlElement(name = "pre-persist")
161    protected PrePersist prePersist;
162    @XmlElement(name = "post-persist")
163    protected PostPersist postPersist;
164    @XmlElement(name = "pre-remove")
165    protected PreRemove preRemove;
166    @XmlElement(name = "post-remove")
167    protected PostRemove postRemove;
168    @XmlElement(name = "pre-update")
169    protected PreUpdate preUpdate;
170    @XmlElement(name = "post-update")
171    protected PostUpdate postUpdate;
172    @XmlElement(name = "post-load")
173    protected PostLoad postLoad;
174    @XmlElement(name = "attribute-override")
175    protected List<AttributeOverride> attributeOverride;
176    @XmlElement(name = "association-override")
177    protected List<AssociationOverride> associationOverride;
178    protected List<Convert> convert;
179    @XmlElement(name = "named-entity-graph")
180    protected List<NamedEntityGraph> namedEntityGraph;
181    protected Attributes attributes;
182    @XmlAttribute(name = "name")
183    protected String name;
184    @XmlAttribute(name = "class", required = true)
185    protected String clazz;
186    @XmlAttribute(name = "access")
187    protected AccessType access;
188    @XmlAttribute(name = "cacheable")
189    protected Boolean cacheable;
190    @XmlAttribute(name = "metadata-complete")
191    protected Boolean metadataComplete;
192
193    /**
194     * Gets the value of the description property.
195     * 
196     * @return
197     *     possible object is
198     *     {@link String }
199     *     
200     */
201    public String getDescription() {
202        return description;
203    }
204
205    /**
206     * Sets the value of the description property.
207     * 
208     * @param value
209     *     allowed object is
210     *     {@link String }
211     *     
212     */
213    public void setDescription(String value) {
214        this.description = value;
215    }
216
217    /**
218     * Gets the value of the table property.
219     * 
220     * @return
221     *     possible object is
222     *     {@link Table }
223     *     
224     */
225    public Table getTable() {
226        return table;
227    }
228
229    /**
230     * Sets the value of the table property.
231     * 
232     * @param value
233     *     allowed object is
234     *     {@link Table }
235     *     
236     */
237    public void setTable(Table value) {
238        this.table = value;
239    }
240
241    /**
242     * Gets the value of the secondaryTable property.
243     * 
244     * <p>
245     * This accessor method returns a reference to the live list,
246     * not a snapshot. Therefore any modification you make to the
247     * returned list will be present inside the JAXB object.
248     * This is why there is not a <CODE>set</CODE> method for the secondaryTable property.
249     * 
250     * <p>
251     * For example, to add a new item, do as follows:
252     * <pre>
253     *    getSecondaryTable().add(newItem);
254     * </pre>
255     * 
256     * 
257     * <p>
258     * Objects of the following type(s) are allowed in the list
259     * {@link SecondaryTable }
260     * 
261     * 
262     */
263    public List<SecondaryTable> getSecondaryTable() {
264        if (secondaryTable == null) {
265            secondaryTable = new ArrayList<SecondaryTable>();
266        }
267        return this.secondaryTable;
268    }
269
270    /**
271     * Gets the value of the primaryKeyJoinColumn property.
272     * 
273     * <p>
274     * This accessor method returns a reference to the live list,
275     * not a snapshot. Therefore any modification you make to the
276     * returned list will be present inside the JAXB object.
277     * This is why there is not a <CODE>set</CODE> method for the primaryKeyJoinColumn property.
278     * 
279     * <p>
280     * For example, to add a new item, do as follows:
281     * <pre>
282     *    getPrimaryKeyJoinColumn().add(newItem);
283     * </pre>
284     * 
285     * 
286     * <p>
287     * Objects of the following type(s) are allowed in the list
288     * {@link PrimaryKeyJoinColumn }
289     * 
290     * 
291     */
292    public List<PrimaryKeyJoinColumn> getPrimaryKeyJoinColumn() {
293        if (primaryKeyJoinColumn == null) {
294            primaryKeyJoinColumn = new ArrayList<PrimaryKeyJoinColumn>();
295        }
296        return this.primaryKeyJoinColumn;
297    }
298
299    /**
300     * Gets the value of the primaryKeyForeignKey property.
301     * 
302     * @return
303     *     possible object is
304     *     {@link ForeignKey }
305     *     
306     */
307    public ForeignKey getPrimaryKeyForeignKey() {
308        return primaryKeyForeignKey;
309    }
310
311    /**
312     * Sets the value of the primaryKeyForeignKey property.
313     * 
314     * @param value
315     *     allowed object is
316     *     {@link ForeignKey }
317     *     
318     */
319    public void setPrimaryKeyForeignKey(ForeignKey value) {
320        this.primaryKeyForeignKey = value;
321    }
322
323    /**
324     * Gets the value of the idClass property.
325     * 
326     * @return
327     *     possible object is
328     *     {@link IdClass }
329     *     
330     */
331    public IdClass getIdClass() {
332        return idClass;
333    }
334
335    /**
336     * Sets the value of the idClass property.
337     * 
338     * @param value
339     *     allowed object is
340     *     {@link IdClass }
341     *     
342     */
343    public void setIdClass(IdClass value) {
344        this.idClass = value;
345    }
346
347    /**
348     * Gets the value of the inheritance property.
349     * 
350     * @return
351     *     possible object is
352     *     {@link Inheritance }
353     *     
354     */
355    public Inheritance getInheritance() {
356        return inheritance;
357    }
358
359    /**
360     * Sets the value of the inheritance property.
361     * 
362     * @param value
363     *     allowed object is
364     *     {@link Inheritance }
365     *     
366     */
367    public void setInheritance(Inheritance value) {
368        this.inheritance = value;
369    }
370
371    /**
372     * Gets the value of the discriminatorValue property.
373     * 
374     * @return
375     *     possible object is
376     *     {@link String }
377     *     
378     */
379    public String getDiscriminatorValue() {
380        return discriminatorValue;
381    }
382
383    /**
384     * Sets the value of the discriminatorValue property.
385     * 
386     * @param value
387     *     allowed object is
388     *     {@link String }
389     *     
390     */
391    public void setDiscriminatorValue(String value) {
392        this.discriminatorValue = value;
393    }
394
395    /**
396     * Gets the value of the discriminatorColumn property.
397     * 
398     * @return
399     *     possible object is
400     *     {@link DiscriminatorColumn }
401     *     
402     */
403    public DiscriminatorColumn getDiscriminatorColumn() {
404        return discriminatorColumn;
405    }
406
407    /**
408     * Sets the value of the discriminatorColumn property.
409     * 
410     * @param value
411     *     allowed object is
412     *     {@link DiscriminatorColumn }
413     *     
414     */
415    public void setDiscriminatorColumn(DiscriminatorColumn value) {
416        this.discriminatorColumn = value;
417    }
418
419    /**
420     * Gets the value of the sequenceGenerator property.
421     * 
422     * @return
423     *     possible object is
424     *     {@link SequenceGenerator }
425     *     
426     */
427    public SequenceGenerator getSequenceGenerator() {
428        return sequenceGenerator;
429    }
430
431    /**
432     * Sets the value of the sequenceGenerator property.
433     * 
434     * @param value
435     *     allowed object is
436     *     {@link SequenceGenerator }
437     *     
438     */
439    public void setSequenceGenerator(SequenceGenerator value) {
440        this.sequenceGenerator = value;
441    }
442
443    /**
444     * Gets the value of the tableGenerator property.
445     * 
446     * @return
447     *     possible object is
448     *     {@link TableGenerator }
449     *     
450     */
451    public TableGenerator getTableGenerator() {
452        return tableGenerator;
453    }
454
455    /**
456     * Sets the value of the tableGenerator property.
457     * 
458     * @param value
459     *     allowed object is
460     *     {@link TableGenerator }
461     *     
462     */
463    public void setTableGenerator(TableGenerator value) {
464        this.tableGenerator = value;
465    }
466
467    /**
468     * Gets the value of the namedQuery property.
469     * 
470     * <p>
471     * This accessor method returns a reference to the live list,
472     * not a snapshot. Therefore any modification you make to the
473     * returned list will be present inside the JAXB object.
474     * This is why there is not a <CODE>set</CODE> method for the namedQuery property.
475     * 
476     * <p>
477     * For example, to add a new item, do as follows:
478     * <pre>
479     *    getNamedQuery().add(newItem);
480     * </pre>
481     * 
482     * 
483     * <p>
484     * Objects of the following type(s) are allowed in the list
485     * {@link NamedQuery }
486     * 
487     * 
488     */
489    public List<NamedQuery> getNamedQuery() {
490        if (namedQuery == null) {
491            namedQuery = new ArrayList<NamedQuery>();
492        }
493        return this.namedQuery;
494    }
495
496    /**
497     * Gets the value of the namedNativeQuery property.
498     * 
499     * <p>
500     * This accessor method returns a reference to the live list,
501     * not a snapshot. Therefore any modification you make to the
502     * returned list will be present inside the JAXB object.
503     * This is why there is not a <CODE>set</CODE> method for the namedNativeQuery property.
504     * 
505     * <p>
506     * For example, to add a new item, do as follows:
507     * <pre>
508     *    getNamedNativeQuery().add(newItem);
509     * </pre>
510     * 
511     * 
512     * <p>
513     * Objects of the following type(s) are allowed in the list
514     * {@link NamedNativeQuery }
515     * 
516     * 
517     */
518    public List<NamedNativeQuery> getNamedNativeQuery() {
519        if (namedNativeQuery == null) {
520            namedNativeQuery = new ArrayList<NamedNativeQuery>();
521        }
522        return this.namedNativeQuery;
523    }
524
525    /**
526     * Gets the value of the namedStoredProcedureQuery property.
527     * 
528     * <p>
529     * This accessor method returns a reference to the live list,
530     * not a snapshot. Therefore any modification you make to the
531     * returned list will be present inside the JAXB object.
532     * This is why there is not a <CODE>set</CODE> method for the namedStoredProcedureQuery property.
533     * 
534     * <p>
535     * For example, to add a new item, do as follows:
536     * <pre>
537     *    getNamedStoredProcedureQuery().add(newItem);
538     * </pre>
539     * 
540     * 
541     * <p>
542     * Objects of the following type(s) are allowed in the list
543     * {@link NamedStoredProcedureQuery }
544     * 
545     * 
546     */
547    public List<NamedStoredProcedureQuery> getNamedStoredProcedureQuery() {
548        if (namedStoredProcedureQuery == null) {
549            namedStoredProcedureQuery = new ArrayList<NamedStoredProcedureQuery>();
550        }
551        return this.namedStoredProcedureQuery;
552    }
553
554    /**
555     * Gets the value of the sqlResultSetMapping property.
556     * 
557     * <p>
558     * This accessor method returns a reference to the live list,
559     * not a snapshot. Therefore any modification you make to the
560     * returned list will be present inside the JAXB object.
561     * This is why there is not a <CODE>set</CODE> method for the sqlResultSetMapping property.
562     * 
563     * <p>
564     * For example, to add a new item, do as follows:
565     * <pre>
566     *    getSqlResultSetMapping().add(newItem);
567     * </pre>
568     * 
569     * 
570     * <p>
571     * Objects of the following type(s) are allowed in the list
572     * {@link SqlResultSetMapping }
573     * 
574     * 
575     */
576    public List<SqlResultSetMapping> getSqlResultSetMapping() {
577        if (sqlResultSetMapping == null) {
578            sqlResultSetMapping = new ArrayList<SqlResultSetMapping>();
579        }
580        return this.sqlResultSetMapping;
581    }
582
583    /**
584     * Gets the value of the excludeDefaultListeners property.
585     * 
586     * @return
587     *     possible object is
588     *     {@link EmptyType }
589     *     
590     */
591    public EmptyType getExcludeDefaultListeners() {
592        return excludeDefaultListeners;
593    }
594
595    /**
596     * Sets the value of the excludeDefaultListeners property.
597     * 
598     * @param value
599     *     allowed object is
600     *     {@link EmptyType }
601     *     
602     */
603    public void setExcludeDefaultListeners(EmptyType value) {
604        this.excludeDefaultListeners = value;
605    }
606
607    /**
608     * Gets the value of the excludeSuperclassListeners property.
609     * 
610     * @return
611     *     possible object is
612     *     {@link EmptyType }
613     *     
614     */
615    public EmptyType getExcludeSuperclassListeners() {
616        return excludeSuperclassListeners;
617    }
618
619    /**
620     * Sets the value of the excludeSuperclassListeners property.
621     * 
622     * @param value
623     *     allowed object is
624     *     {@link EmptyType }
625     *     
626     */
627    public void setExcludeSuperclassListeners(EmptyType value) {
628        this.excludeSuperclassListeners = value;
629    }
630
631    /**
632     * Gets the value of the entityListeners property.
633     * 
634     * @return
635     *     possible object is
636     *     {@link EntityListeners }
637     *     
638     */
639    public EntityListeners getEntityListeners() {
640        return entityListeners;
641    }
642
643    /**
644     * Sets the value of the entityListeners property.
645     * 
646     * @param value
647     *     allowed object is
648     *     {@link EntityListeners }
649     *     
650     */
651    public void setEntityListeners(EntityListeners value) {
652        this.entityListeners = value;
653    }
654
655    /**
656     * Gets the value of the prePersist property.
657     * 
658     * @return
659     *     possible object is
660     *     {@link PrePersist }
661     *     
662     */
663    public PrePersist getPrePersist() {
664        return prePersist;
665    }
666
667    /**
668     * Sets the value of the prePersist property.
669     * 
670     * @param value
671     *     allowed object is
672     *     {@link PrePersist }
673     *     
674     */
675    public void setPrePersist(PrePersist value) {
676        this.prePersist = value;
677    }
678
679    /**
680     * Gets the value of the postPersist property.
681     * 
682     * @return
683     *     possible object is
684     *     {@link PostPersist }
685     *     
686     */
687    public PostPersist getPostPersist() {
688        return postPersist;
689    }
690
691    /**
692     * Sets the value of the postPersist property.
693     * 
694     * @param value
695     *     allowed object is
696     *     {@link PostPersist }
697     *     
698     */
699    public void setPostPersist(PostPersist value) {
700        this.postPersist = value;
701    }
702
703    /**
704     * Gets the value of the preRemove property.
705     * 
706     * @return
707     *     possible object is
708     *     {@link PreRemove }
709     *     
710     */
711    public PreRemove getPreRemove() {
712        return preRemove;
713    }
714
715    /**
716     * Sets the value of the preRemove property.
717     * 
718     * @param value
719     *     allowed object is
720     *     {@link PreRemove }
721     *     
722     */
723    public void setPreRemove(PreRemove value) {
724        this.preRemove = value;
725    }
726
727    /**
728     * Gets the value of the postRemove property.
729     * 
730     * @return
731     *     possible object is
732     *     {@link PostRemove }
733     *     
734     */
735    public PostRemove getPostRemove() {
736        return postRemove;
737    }
738
739    /**
740     * Sets the value of the postRemove property.
741     * 
742     * @param value
743     *     allowed object is
744     *     {@link PostRemove }
745     *     
746     */
747    public void setPostRemove(PostRemove value) {
748        this.postRemove = value;
749    }
750
751    /**
752     * Gets the value of the preUpdate property.
753     * 
754     * @return
755     *     possible object is
756     *     {@link PreUpdate }
757     *     
758     */
759    public PreUpdate getPreUpdate() {
760        return preUpdate;
761    }
762
763    /**
764     * Sets the value of the preUpdate property.
765     * 
766     * @param value
767     *     allowed object is
768     *     {@link PreUpdate }
769     *     
770     */
771    public void setPreUpdate(PreUpdate value) {
772        this.preUpdate = value;
773    }
774
775    /**
776     * Gets the value of the postUpdate property.
777     * 
778     * @return
779     *     possible object is
780     *     {@link PostUpdate }
781     *     
782     */
783    public PostUpdate getPostUpdate() {
784        return postUpdate;
785    }
786
787    /**
788     * Sets the value of the postUpdate property.
789     * 
790     * @param value
791     *     allowed object is
792     *     {@link PostUpdate }
793     *     
794     */
795    public void setPostUpdate(PostUpdate value) {
796        this.postUpdate = value;
797    }
798
799    /**
800     * Gets the value of the postLoad property.
801     * 
802     * @return
803     *     possible object is
804     *     {@link PostLoad }
805     *     
806     */
807    public PostLoad getPostLoad() {
808        return postLoad;
809    }
810
811    /**
812     * Sets the value of the postLoad property.
813     * 
814     * @param value
815     *     allowed object is
816     *     {@link PostLoad }
817     *     
818     */
819    public void setPostLoad(PostLoad value) {
820        this.postLoad = value;
821    }
822
823    /**
824     * Gets the value of the attributeOverride property.
825     * 
826     * <p>
827     * This accessor method returns a reference to the live list,
828     * not a snapshot. Therefore any modification you make to the
829     * returned list will be present inside the JAXB object.
830     * This is why there is not a <CODE>set</CODE> method for the attributeOverride property.
831     * 
832     * <p>
833     * For example, to add a new item, do as follows:
834     * <pre>
835     *    getAttributeOverride().add(newItem);
836     * </pre>
837     * 
838     * 
839     * <p>
840     * Objects of the following type(s) are allowed in the list
841     * {@link AttributeOverride }
842     * 
843     * 
844     */
845    public List<AttributeOverride> getAttributeOverride() {
846        if (attributeOverride == null) {
847            attributeOverride = new ArrayList<AttributeOverride>();
848        }
849        return this.attributeOverride;
850    }
851
852    /**
853     * Gets the value of the associationOverride property.
854     * 
855     * <p>
856     * This accessor method returns a reference to the live list,
857     * not a snapshot. Therefore any modification you make to the
858     * returned list will be present inside the JAXB object.
859     * This is why there is not a <CODE>set</CODE> method for the associationOverride property.
860     * 
861     * <p>
862     * For example, to add a new item, do as follows:
863     * <pre>
864     *    getAssociationOverride().add(newItem);
865     * </pre>
866     * 
867     * 
868     * <p>
869     * Objects of the following type(s) are allowed in the list
870     * {@link AssociationOverride }
871     * 
872     * 
873     */
874    public List<AssociationOverride> getAssociationOverride() {
875        if (associationOverride == null) {
876            associationOverride = new ArrayList<AssociationOverride>();
877        }
878        return this.associationOverride;
879    }
880
881    /**
882     * Gets the value of the convert property.
883     * 
884     * <p>
885     * This accessor method returns a reference to the live list,
886     * not a snapshot. Therefore any modification you make to the
887     * returned list will be present inside the JAXB object.
888     * This is why there is not a <CODE>set</CODE> method for the convert property.
889     * 
890     * <p>
891     * For example, to add a new item, do as follows:
892     * <pre>
893     *    getConvert().add(newItem);
894     * </pre>
895     * 
896     * 
897     * <p>
898     * Objects of the following type(s) are allowed in the list
899     * {@link Convert }
900     * 
901     * 
902     */
903    public List<Convert> getConvert() {
904        if (convert == null) {
905            convert = new ArrayList<Convert>();
906        }
907        return this.convert;
908    }
909
910    /**
911     * Gets the value of the namedEntityGraph property.
912     * 
913     * <p>
914     * This accessor method returns a reference to the live list,
915     * not a snapshot. Therefore any modification you make to the
916     * returned list will be present inside the JAXB object.
917     * This is why there is not a <CODE>set</CODE> method for the namedEntityGraph property.
918     * 
919     * <p>
920     * For example, to add a new item, do as follows:
921     * <pre>
922     *    getNamedEntityGraph().add(newItem);
923     * </pre>
924     * 
925     * 
926     * <p>
927     * Objects of the following type(s) are allowed in the list
928     * {@link NamedEntityGraph }
929     * 
930     * 
931     */
932    public List<NamedEntityGraph> getNamedEntityGraph() {
933        if (namedEntityGraph == null) {
934            namedEntityGraph = new ArrayList<NamedEntityGraph>();
935        }
936        return this.namedEntityGraph;
937    }
938
939    /**
940     * Gets the value of the attributes property.
941     * 
942     * @return
943     *     possible object is
944     *     {@link Attributes }
945     *     
946     */
947    public Attributes getAttributes() {
948        return attributes;
949    }
950
951    /**
952     * Sets the value of the attributes property.
953     * 
954     * @param value
955     *     allowed object is
956     *     {@link Attributes }
957     *     
958     */
959    public void setAttributes(Attributes value) {
960        this.attributes = value;
961    }
962
963    /**
964     * Gets the value of the name property.
965     * 
966     * @return
967     *     possible object is
968     *     {@link String }
969     *     
970     */
971    public String getName() {
972        return name;
973    }
974
975    /**
976     * Sets the value of the name property.
977     * 
978     * @param value
979     *     allowed object is
980     *     {@link String }
981     *     
982     */
983    public void setName(String value) {
984        this.name = value;
985    }
986
987    /**
988     * Gets the value of the clazz property.
989     * 
990     * @return
991     *     possible object is
992     *     {@link String }
993     *     
994     */
995    public String getClazz() {
996        return clazz;
997    }
998
999    /**
1000     * Sets the value of the clazz property.
1001     * 
1002     * @param value
1003     *     allowed object is
1004     *     {@link String }
1005     *     
1006     */
1007    public void setClazz(String value) {
1008        this.clazz = value;
1009    }
1010
1011    /**
1012     * Gets the value of the access property.
1013     * 
1014     * @return
1015     *     possible object is
1016     *     {@link AccessType }
1017     *     
1018     */
1019    public AccessType getAccess() {
1020        return access;
1021    }
1022
1023    /**
1024     * Sets the value of the access property.
1025     * 
1026     * @param value
1027     *     allowed object is
1028     *     {@link AccessType }
1029     *     
1030     */
1031    public void setAccess(AccessType value) {
1032        this.access = value;
1033    }
1034
1035    /**
1036     * Gets the value of the cacheable property.
1037     * 
1038     * @return
1039     *     possible object is
1040     *     {@link Boolean }
1041     *     
1042     */
1043    public Boolean isCacheable() {
1044        return cacheable;
1045    }
1046
1047    /**
1048     * Sets the value of the cacheable property.
1049     * 
1050     * @param value
1051     *     allowed object is
1052     *     {@link Boolean }
1053     *     
1054     */
1055    public void setCacheable(Boolean value) {
1056        this.cacheable = value;
1057    }
1058
1059    /**
1060     * Gets the value of the metadataComplete property.
1061     * 
1062     * @return
1063     *     possible object is
1064     *     {@link Boolean }
1065     *     
1066     */
1067    public Boolean isMetadataComplete() {
1068        return metadataComplete;
1069    }
1070
1071    /**
1072     * Sets the value of the metadataComplete property.
1073     * 
1074     * @param value
1075     *     allowed object is
1076     *     {@link Boolean }
1077     *     
1078     */
1079    public void setMetadataComplete(Boolean value) {
1080        this.metadataComplete = value;
1081    }
1082
1083}