001    //
002    // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
003    // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004    // Any modifications to this file will be lost upon recompilation of the source schema. 
005    // Generated on: 2010.08.18 at 10:46:56 PM CEST 
006    //
007    
008    
009    package net.sourceforge.jpaxjc.ns.persistence.orm;
010    
011    import java.util.ArrayList;
012    import java.util.Iterator;
013    import java.util.List;
014    import javax.annotation.Generated;
015    import javax.xml.bind.annotation.XmlAccessType;
016    import javax.xml.bind.annotation.XmlAccessorType;
017    import javax.xml.bind.annotation.XmlAttribute;
018    import javax.xml.bind.annotation.XmlElement;
019    import javax.xml.bind.annotation.XmlType;
020    
021    
022    /**
023     * 
024     * 
025     *         Defines the settings and mappings for an entity. Is allowed to be
026     *         sparsely populated and used in conjunction with the annotations.
027     *         Alternatively, the metadata-complete attribute can be used to
028     *         indicate that no annotations on the entity class (and its fields
029     *         or properties) are to be processed. If this is the case then
030     *         the defaulting rules for the entity and its subelements will
031     *         be recursively applied.
032     * 
033     *         @Target(TYPE) @Retention(RUNTIME)
034     *           public @interface Entity {
035     *           String name() default "";
036     *         }
037     * 
038     *       
039     * 
040     * <p>Java class for entity complex type.
041     * 
042     * <p>The following schema fragment specifies the expected content contained within this class.
043     * 
044     * <pre>
045     * &lt;complexType name="entity">
046     *   &lt;complexContent>
047     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
048     *       &lt;sequence>
049     *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
050     *         &lt;element name="table" type="{http://java.sun.com/xml/ns/persistence/orm}table" minOccurs="0"/>
051     *         &lt;element name="secondary-table" type="{http://java.sun.com/xml/ns/persistence/orm}secondary-table" maxOccurs="unbounded" minOccurs="0"/>
052     *         &lt;element name="primary-key-join-column" type="{http://java.sun.com/xml/ns/persistence/orm}primary-key-join-column" maxOccurs="unbounded" minOccurs="0"/>
053     *         &lt;element name="id-class" type="{http://java.sun.com/xml/ns/persistence/orm}id-class" minOccurs="0"/>
054     *         &lt;element name="inheritance" type="{http://java.sun.com/xml/ns/persistence/orm}inheritance" minOccurs="0"/>
055     *         &lt;element name="discriminator-value" type="{http://java.sun.com/xml/ns/persistence/orm}discriminator-value" minOccurs="0"/>
056     *         &lt;element name="discriminator-column" type="{http://java.sun.com/xml/ns/persistence/orm}discriminator-column" minOccurs="0"/>
057     *         &lt;element name="sequence-generator" type="{http://java.sun.com/xml/ns/persistence/orm}sequence-generator" minOccurs="0"/>
058     *         &lt;element name="table-generator" type="{http://java.sun.com/xml/ns/persistence/orm}table-generator" minOccurs="0"/>
059     *         &lt;element name="named-query" type="{http://java.sun.com/xml/ns/persistence/orm}named-query" maxOccurs="unbounded" minOccurs="0"/>
060     *         &lt;element name="named-native-query" type="{http://java.sun.com/xml/ns/persistence/orm}named-native-query" maxOccurs="unbounded" minOccurs="0"/>
061     *         &lt;element name="sql-result-set-mapping" type="{http://java.sun.com/xml/ns/persistence/orm}sql-result-set-mapping" maxOccurs="unbounded" minOccurs="0"/>
062     *         &lt;element name="exclude-default-listeners" type="{http://java.sun.com/xml/ns/persistence/orm}emptyType" minOccurs="0"/>
063     *         &lt;element name="exclude-superclass-listeners" type="{http://java.sun.com/xml/ns/persistence/orm}emptyType" minOccurs="0"/>
064     *         &lt;element name="entity-listeners" type="{http://java.sun.com/xml/ns/persistence/orm}entity-listeners" minOccurs="0"/>
065     *         &lt;element name="pre-persist" type="{http://java.sun.com/xml/ns/persistence/orm}pre-persist" minOccurs="0"/>
066     *         &lt;element name="post-persist" type="{http://java.sun.com/xml/ns/persistence/orm}post-persist" minOccurs="0"/>
067     *         &lt;element name="pre-remove" type="{http://java.sun.com/xml/ns/persistence/orm}pre-remove" minOccurs="0"/>
068     *         &lt;element name="post-remove" type="{http://java.sun.com/xml/ns/persistence/orm}post-remove" minOccurs="0"/>
069     *         &lt;element name="pre-update" type="{http://java.sun.com/xml/ns/persistence/orm}pre-update" minOccurs="0"/>
070     *         &lt;element name="post-update" type="{http://java.sun.com/xml/ns/persistence/orm}post-update" minOccurs="0"/>
071     *         &lt;element name="post-load" type="{http://java.sun.com/xml/ns/persistence/orm}post-load" minOccurs="0"/>
072     *         &lt;element name="attribute-override" type="{http://java.sun.com/xml/ns/persistence/orm}attribute-override" maxOccurs="unbounded" minOccurs="0"/>
073     *         &lt;element name="association-override" type="{http://java.sun.com/xml/ns/persistence/orm}association-override" maxOccurs="unbounded" minOccurs="0"/>
074     *         &lt;element name="attributes" type="{http://java.sun.com/xml/ns/persistence/orm}attributes" minOccurs="0"/>
075     *       &lt;/sequence>
076     *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
077     *       &lt;attribute name="class" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
078     *       &lt;attribute name="access" type="{http://java.sun.com/xml/ns/persistence/orm}access-type" />
079     *       &lt;attribute name="metadata-complete" type="{http://www.w3.org/2001/XMLSchema}boolean" />
080     *     &lt;/restriction>
081     *   &lt;/complexContent>
082     * &lt;/complexType>
083     * </pre>
084     * 
085     * 
086     */
087    @XmlAccessorType(XmlAccessType.FIELD)
088    @XmlType(name = "entity", propOrder = {
089        "description",
090        "table",
091        "secondaryTable",
092        "primaryKeyJoinColumn",
093        "idClass",
094        "inheritance",
095        "discriminatorValue",
096        "discriminatorColumn",
097        "sequenceGenerator",
098        "tableGenerator",
099        "namedQuery",
100        "namedNativeQuery",
101        "sqlResultSetMapping",
102        "excludeDefaultListeners",
103        "excludeSuperclassListeners",
104        "entityListeners",
105        "prePersist",
106        "postPersist",
107        "preRemove",
108        "postRemove",
109        "preUpdate",
110        "postUpdate",
111        "postLoad",
112        "attributeOverride",
113        "associationOverride",
114        "attributes"
115    })
116    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
117    public class Entity implements Cloneable
118    {
119    
120        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
121        protected String description;
122        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
123        protected Table table;
124        @XmlElement(name = "secondary-table")
125        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
126        protected List<SecondaryTable> secondaryTable;
127        @XmlElement(name = "primary-key-join-column")
128        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
129        protected List<PrimaryKeyJoinColumn> primaryKeyJoinColumn;
130        @XmlElement(name = "id-class")
131        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
132        protected IdClass idClass;
133        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
134        protected Inheritance inheritance;
135        @XmlElement(name = "discriminator-value")
136        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
137        protected String discriminatorValue;
138        @XmlElement(name = "discriminator-column")
139        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
140        protected DiscriminatorColumn discriminatorColumn;
141        @XmlElement(name = "sequence-generator")
142        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
143        protected SequenceGenerator sequenceGenerator;
144        @XmlElement(name = "table-generator")
145        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
146        protected TableGenerator tableGenerator;
147        @XmlElement(name = "named-query")
148        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
149        protected List<NamedQuery> namedQuery;
150        @XmlElement(name = "named-native-query")
151        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
152        protected List<NamedNativeQuery> namedNativeQuery;
153        @XmlElement(name = "sql-result-set-mapping")
154        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
155        protected List<SqlResultSetMapping> sqlResultSetMapping;
156        @XmlElement(name = "exclude-default-listeners")
157        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
158        protected EmptyType excludeDefaultListeners;
159        @XmlElement(name = "exclude-superclass-listeners")
160        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
161        protected EmptyType excludeSuperclassListeners;
162        @XmlElement(name = "entity-listeners")
163        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
164        protected EntityListeners entityListeners;
165        @XmlElement(name = "pre-persist")
166        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
167        protected PrePersist prePersist;
168        @XmlElement(name = "post-persist")
169        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
170        protected PostPersist postPersist;
171        @XmlElement(name = "pre-remove")
172        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
173        protected PreRemove preRemove;
174        @XmlElement(name = "post-remove")
175        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
176        protected PostRemove postRemove;
177        @XmlElement(name = "pre-update")
178        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
179        protected PreUpdate preUpdate;
180        @XmlElement(name = "post-update")
181        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
182        protected PostUpdate postUpdate;
183        @XmlElement(name = "post-load")
184        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
185        protected PostLoad postLoad;
186        @XmlElement(name = "attribute-override")
187        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
188        protected List<AttributeOverride> attributeOverride;
189        @XmlElement(name = "association-override")
190        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
191        protected List<AssociationOverride> associationOverride;
192        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
193        protected Attributes attributes;
194        @XmlAttribute
195        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
196        protected String name;
197        @XmlAttribute(name = "class", required = true)
198        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
199        protected String clazz;
200        @XmlAttribute
201        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
202        protected AccessType access;
203        @XmlAttribute(name = "metadata-complete")
204        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
205        protected Boolean metadataComplete;
206    
207        /**
208         * Creates a new {@code Entity} instance.
209         * 
210         */
211        public Entity() {
212            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
213            super();
214        }
215    
216        /**
217         * Creates a new {@code Entity} instance by deeply copying a given {@code Entity} instance.
218         * 
219         * 
220         * @param o
221         *     The instance to copy.
222         * @throws NullPointerException
223         *     if {@code o} is {@code null}.
224         */
225        public Entity(final Entity o) {
226            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
227            super();
228            if (o == null) {
229                throw new NullPointerException("Cannot create a copy of 'Entity' from 'null'.");
230            }
231            // CBuiltinLeafInfo: java.lang.String
232            this.description = o.getDescription();
233            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Table
234            this.table = ((o.getTable() == null)?null:o.getTable().clone());
235            // 'SecondaryTable' collection.
236            copySecondaryTable(o.getSecondaryTable(), getSecondaryTable());
237            // 'PrimaryKeyJoinColumn' collection.
238            copyPrimaryKeyJoinColumn(o.getPrimaryKeyJoinColumn(), getPrimaryKeyJoinColumn());
239            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.IdClass
240            this.idClass = ((o.getIdClass() == null)?null:o.getIdClass().clone());
241            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Inheritance
242            this.inheritance = ((o.getInheritance() == null)?null:o.getInheritance().clone());
243            // CBuiltinLeafInfo: java.lang.String
244            this.discriminatorValue = o.getDiscriminatorValue();
245            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.DiscriminatorColumn
246            this.discriminatorColumn = ((o.getDiscriminatorColumn() == null)?null:o.getDiscriminatorColumn().clone());
247            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.SequenceGenerator
248            this.sequenceGenerator = ((o.getSequenceGenerator() == null)?null:o.getSequenceGenerator().clone());
249            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.TableGenerator
250            this.tableGenerator = ((o.getTableGenerator() == null)?null:o.getTableGenerator().clone());
251            // 'NamedQuery' collection.
252            copyNamedQuery(o.getNamedQuery(), getNamedQuery());
253            // 'NamedNativeQuery' collection.
254            copyNamedNativeQuery(o.getNamedNativeQuery(), getNamedNativeQuery());
255            // 'SqlResultSetMapping' collection.
256            copySqlResultSetMapping(o.getSqlResultSetMapping(), getSqlResultSetMapping());
257            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.EmptyType
258            this.excludeDefaultListeners = ((o.getExcludeDefaultListeners() == null)?null:o.getExcludeDefaultListeners().clone());
259            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.EmptyType
260            this.excludeSuperclassListeners = ((o.getExcludeSuperclassListeners() == null)?null:o.getExcludeSuperclassListeners().clone());
261            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.EntityListeners
262            this.entityListeners = ((o.getEntityListeners() == null)?null:o.getEntityListeners().clone());
263            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PrePersist
264            this.prePersist = ((o.getPrePersist() == null)?null:o.getPrePersist().clone());
265            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PostPersist
266            this.postPersist = ((o.getPostPersist() == null)?null:o.getPostPersist().clone());
267            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PreRemove
268            this.preRemove = ((o.getPreRemove() == null)?null:o.getPreRemove().clone());
269            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PostRemove
270            this.postRemove = ((o.getPostRemove() == null)?null:o.getPostRemove().clone());
271            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PreUpdate
272            this.preUpdate = ((o.getPreUpdate() == null)?null:o.getPreUpdate().clone());
273            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PostUpdate
274            this.postUpdate = ((o.getPostUpdate() == null)?null:o.getPostUpdate().clone());
275            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PostLoad
276            this.postLoad = ((o.getPostLoad() == null)?null:o.getPostLoad().clone());
277            // 'AttributeOverride' collection.
278            copyAttributeOverride(o.getAttributeOverride(), getAttributeOverride());
279            // 'AssociationOverride' collection.
280            copyAssociationOverride(o.getAssociationOverride(), getAssociationOverride());
281            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Attributes
282            this.attributes = ((o.getAttributes() == null)?null:o.getAttributes().clone());
283            // CBuiltinLeafInfo: java.lang.String
284            this.name = o.getName();
285            // CBuiltinLeafInfo: java.lang.String
286            this.clazz = o.getClazz();
287            // CEnumLeafInfo: net.sourceforge.jpaxjc.ns.persistence.orm.AccessType
288            this.access = o.getAccess();
289            // CBuiltinLeafInfo: java.lang.Boolean
290            this.metadataComplete = o.isMetadataComplete();
291        }
292    
293        /**
294         * Gets the value of the description property.
295         * 
296         * @return
297         *     possible object is
298         *     {@link String }
299         *     
300         */
301        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
302        public String getDescription() {
303            return description;
304        }
305    
306        /**
307         * Sets the value of the description property.
308         * 
309         * @param value
310         *     allowed object is
311         *     {@link String }
312         *     
313         */
314        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
315        public void setDescription(String value) {
316            this.description = value;
317        }
318    
319        /**
320         * Gets the value of the table property.
321         * 
322         * @return
323         *     possible object is
324         *     {@link Table }
325         *     
326         */
327        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
328        public Table getTable() {
329            return table;
330        }
331    
332        /**
333         * Sets the value of the table property.
334         * 
335         * @param value
336         *     allowed object is
337         *     {@link Table }
338         *     
339         */
340        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
341        public void setTable(Table value) {
342            this.table = value;
343        }
344    
345        /**
346         * Gets the value of the secondaryTable 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 secondaryTable property.
353         * 
354         * <p>
355         * For example, to add a new item, do as follows:
356         * <pre>
357         *    getSecondaryTable().add(newItem);
358         * </pre>
359         * 
360         * 
361         * <p>
362         * Objects of the following type(s) are allowed in the list
363         * {@link SecondaryTable }
364         * 
365         * 
366         */
367        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
368        public List<SecondaryTable> getSecondaryTable() {
369            if (secondaryTable == null) {
370                secondaryTable = new ArrayList<SecondaryTable>();
371            }
372            return this.secondaryTable;
373        }
374    
375        /**
376         * Gets the value of the primaryKeyJoinColumn property.
377         * 
378         * <p>
379         * This accessor method returns a reference to the live list,
380         * not a snapshot. Therefore any modification you make to the
381         * returned list will be present inside the JAXB object.
382         * This is why there is not a <CODE>set</CODE> method for the primaryKeyJoinColumn property.
383         * 
384         * <p>
385         * For example, to add a new item, do as follows:
386         * <pre>
387         *    getPrimaryKeyJoinColumn().add(newItem);
388         * </pre>
389         * 
390         * 
391         * <p>
392         * Objects of the following type(s) are allowed in the list
393         * {@link PrimaryKeyJoinColumn }
394         * 
395         * 
396         */
397        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
398        public List<PrimaryKeyJoinColumn> getPrimaryKeyJoinColumn() {
399            if (primaryKeyJoinColumn == null) {
400                primaryKeyJoinColumn = new ArrayList<PrimaryKeyJoinColumn>();
401            }
402            return this.primaryKeyJoinColumn;
403        }
404    
405        /**
406         * Gets the value of the idClass property.
407         * 
408         * @return
409         *     possible object is
410         *     {@link IdClass }
411         *     
412         */
413        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
414        public IdClass getIdClass() {
415            return idClass;
416        }
417    
418        /**
419         * Sets the value of the idClass property.
420         * 
421         * @param value
422         *     allowed object is
423         *     {@link IdClass }
424         *     
425         */
426        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
427        public void setIdClass(IdClass value) {
428            this.idClass = value;
429        }
430    
431        /**
432         * Gets the value of the inheritance property.
433         * 
434         * @return
435         *     possible object is
436         *     {@link Inheritance }
437         *     
438         */
439        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
440        public Inheritance getInheritance() {
441            return inheritance;
442        }
443    
444        /**
445         * Sets the value of the inheritance property.
446         * 
447         * @param value
448         *     allowed object is
449         *     {@link Inheritance }
450         *     
451         */
452        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
453        public void setInheritance(Inheritance value) {
454            this.inheritance = value;
455        }
456    
457        /**
458         * Gets the value of the discriminatorValue property.
459         * 
460         * @return
461         *     possible object is
462         *     {@link String }
463         *     
464         */
465        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
466        public String getDiscriminatorValue() {
467            return discriminatorValue;
468        }
469    
470        /**
471         * Sets the value of the discriminatorValue property.
472         * 
473         * @param value
474         *     allowed object is
475         *     {@link String }
476         *     
477         */
478        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
479        public void setDiscriminatorValue(String value) {
480            this.discriminatorValue = value;
481        }
482    
483        /**
484         * Gets the value of the discriminatorColumn property.
485         * 
486         * @return
487         *     possible object is
488         *     {@link DiscriminatorColumn }
489         *     
490         */
491        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
492        public DiscriminatorColumn getDiscriminatorColumn() {
493            return discriminatorColumn;
494        }
495    
496        /**
497         * Sets the value of the discriminatorColumn property.
498         * 
499         * @param value
500         *     allowed object is
501         *     {@link DiscriminatorColumn }
502         *     
503         */
504        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
505        public void setDiscriminatorColumn(DiscriminatorColumn value) {
506            this.discriminatorColumn = value;
507        }
508    
509        /**
510         * Gets the value of the sequenceGenerator property.
511         * 
512         * @return
513         *     possible object is
514         *     {@link SequenceGenerator }
515         *     
516         */
517        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
518        public SequenceGenerator getSequenceGenerator() {
519            return sequenceGenerator;
520        }
521    
522        /**
523         * Sets the value of the sequenceGenerator property.
524         * 
525         * @param value
526         *     allowed object is
527         *     {@link SequenceGenerator }
528         *     
529         */
530        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
531        public void setSequenceGenerator(SequenceGenerator value) {
532            this.sequenceGenerator = value;
533        }
534    
535        /**
536         * Gets the value of the tableGenerator property.
537         * 
538         * @return
539         *     possible object is
540         *     {@link TableGenerator }
541         *     
542         */
543        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
544        public TableGenerator getTableGenerator() {
545            return tableGenerator;
546        }
547    
548        /**
549         * Sets the value of the tableGenerator property.
550         * 
551         * @param value
552         *     allowed object is
553         *     {@link TableGenerator }
554         *     
555         */
556        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
557        public void setTableGenerator(TableGenerator value) {
558            this.tableGenerator = value;
559        }
560    
561        /**
562         * Gets the value of the namedQuery property.
563         * 
564         * <p>
565         * This accessor method returns a reference to the live list,
566         * not a snapshot. Therefore any modification you make to the
567         * returned list will be present inside the JAXB object.
568         * This is why there is not a <CODE>set</CODE> method for the namedQuery property.
569         * 
570         * <p>
571         * For example, to add a new item, do as follows:
572         * <pre>
573         *    getNamedQuery().add(newItem);
574         * </pre>
575         * 
576         * 
577         * <p>
578         * Objects of the following type(s) are allowed in the list
579         * {@link NamedQuery }
580         * 
581         * 
582         */
583        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
584        public List<NamedQuery> getNamedQuery() {
585            if (namedQuery == null) {
586                namedQuery = new ArrayList<NamedQuery>();
587            }
588            return this.namedQuery;
589        }
590    
591        /**
592         * Gets the value of the namedNativeQuery property.
593         * 
594         * <p>
595         * This accessor method returns a reference to the live list,
596         * not a snapshot. Therefore any modification you make to the
597         * returned list will be present inside the JAXB object.
598         * This is why there is not a <CODE>set</CODE> method for the namedNativeQuery property.
599         * 
600         * <p>
601         * For example, to add a new item, do as follows:
602         * <pre>
603         *    getNamedNativeQuery().add(newItem);
604         * </pre>
605         * 
606         * 
607         * <p>
608         * Objects of the following type(s) are allowed in the list
609         * {@link NamedNativeQuery }
610         * 
611         * 
612         */
613        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
614        public List<NamedNativeQuery> getNamedNativeQuery() {
615            if (namedNativeQuery == null) {
616                namedNativeQuery = new ArrayList<NamedNativeQuery>();
617            }
618            return this.namedNativeQuery;
619        }
620    
621        /**
622         * Gets the value of the sqlResultSetMapping property.
623         * 
624         * <p>
625         * This accessor method returns a reference to the live list,
626         * not a snapshot. Therefore any modification you make to the
627         * returned list will be present inside the JAXB object.
628         * This is why there is not a <CODE>set</CODE> method for the sqlResultSetMapping property.
629         * 
630         * <p>
631         * For example, to add a new item, do as follows:
632         * <pre>
633         *    getSqlResultSetMapping().add(newItem);
634         * </pre>
635         * 
636         * 
637         * <p>
638         * Objects of the following type(s) are allowed in the list
639         * {@link SqlResultSetMapping }
640         * 
641         * 
642         */
643        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
644        public List<SqlResultSetMapping> getSqlResultSetMapping() {
645            if (sqlResultSetMapping == null) {
646                sqlResultSetMapping = new ArrayList<SqlResultSetMapping>();
647            }
648            return this.sqlResultSetMapping;
649        }
650    
651        /**
652         * Gets the value of the excludeDefaultListeners property.
653         * 
654         * @return
655         *     possible object is
656         *     {@link EmptyType }
657         *     
658         */
659        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
660        public EmptyType getExcludeDefaultListeners() {
661            return excludeDefaultListeners;
662        }
663    
664        /**
665         * Sets the value of the excludeDefaultListeners property.
666         * 
667         * @param value
668         *     allowed object is
669         *     {@link EmptyType }
670         *     
671         */
672        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
673        public void setExcludeDefaultListeners(EmptyType value) {
674            this.excludeDefaultListeners = value;
675        }
676    
677        /**
678         * Gets the value of the excludeSuperclassListeners property.
679         * 
680         * @return
681         *     possible object is
682         *     {@link EmptyType }
683         *     
684         */
685        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
686        public EmptyType getExcludeSuperclassListeners() {
687            return excludeSuperclassListeners;
688        }
689    
690        /**
691         * Sets the value of the excludeSuperclassListeners property.
692         * 
693         * @param value
694         *     allowed object is
695         *     {@link EmptyType }
696         *     
697         */
698        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
699        public void setExcludeSuperclassListeners(EmptyType value) {
700            this.excludeSuperclassListeners = value;
701        }
702    
703        /**
704         * Gets the value of the entityListeners property.
705         * 
706         * @return
707         *     possible object is
708         *     {@link EntityListeners }
709         *     
710         */
711        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
712        public EntityListeners getEntityListeners() {
713            return entityListeners;
714        }
715    
716        /**
717         * Sets the value of the entityListeners property.
718         * 
719         * @param value
720         *     allowed object is
721         *     {@link EntityListeners }
722         *     
723         */
724        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
725        public void setEntityListeners(EntityListeners value) {
726            this.entityListeners = value;
727        }
728    
729        /**
730         * Gets the value of the prePersist property.
731         * 
732         * @return
733         *     possible object is
734         *     {@link PrePersist }
735         *     
736         */
737        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
738        public PrePersist getPrePersist() {
739            return prePersist;
740        }
741    
742        /**
743         * Sets the value of the prePersist property.
744         * 
745         * @param value
746         *     allowed object is
747         *     {@link PrePersist }
748         *     
749         */
750        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
751        public void setPrePersist(PrePersist value) {
752            this.prePersist = value;
753        }
754    
755        /**
756         * Gets the value of the postPersist property.
757         * 
758         * @return
759         *     possible object is
760         *     {@link PostPersist }
761         *     
762         */
763        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
764        public PostPersist getPostPersist() {
765            return postPersist;
766        }
767    
768        /**
769         * Sets the value of the postPersist property.
770         * 
771         * @param value
772         *     allowed object is
773         *     {@link PostPersist }
774         *     
775         */
776        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
777        public void setPostPersist(PostPersist value) {
778            this.postPersist = value;
779        }
780    
781        /**
782         * Gets the value of the preRemove property.
783         * 
784         * @return
785         *     possible object is
786         *     {@link PreRemove }
787         *     
788         */
789        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
790        public PreRemove getPreRemove() {
791            return preRemove;
792        }
793    
794        /**
795         * Sets the value of the preRemove property.
796         * 
797         * @param value
798         *     allowed object is
799         *     {@link PreRemove }
800         *     
801         */
802        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
803        public void setPreRemove(PreRemove value) {
804            this.preRemove = value;
805        }
806    
807        /**
808         * Gets the value of the postRemove property.
809         * 
810         * @return
811         *     possible object is
812         *     {@link PostRemove }
813         *     
814         */
815        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
816        public PostRemove getPostRemove() {
817            return postRemove;
818        }
819    
820        /**
821         * Sets the value of the postRemove property.
822         * 
823         * @param value
824         *     allowed object is
825         *     {@link PostRemove }
826         *     
827         */
828        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
829        public void setPostRemove(PostRemove value) {
830            this.postRemove = value;
831        }
832    
833        /**
834         * Gets the value of the preUpdate property.
835         * 
836         * @return
837         *     possible object is
838         *     {@link PreUpdate }
839         *     
840         */
841        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
842        public PreUpdate getPreUpdate() {
843            return preUpdate;
844        }
845    
846        /**
847         * Sets the value of the preUpdate property.
848         * 
849         * @param value
850         *     allowed object is
851         *     {@link PreUpdate }
852         *     
853         */
854        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
855        public void setPreUpdate(PreUpdate value) {
856            this.preUpdate = value;
857        }
858    
859        /**
860         * Gets the value of the postUpdate property.
861         * 
862         * @return
863         *     possible object is
864         *     {@link PostUpdate }
865         *     
866         */
867        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
868        public PostUpdate getPostUpdate() {
869            return postUpdate;
870        }
871    
872        /**
873         * Sets the value of the postUpdate property.
874         * 
875         * @param value
876         *     allowed object is
877         *     {@link PostUpdate }
878         *     
879         */
880        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
881        public void setPostUpdate(PostUpdate value) {
882            this.postUpdate = value;
883        }
884    
885        /**
886         * Gets the value of the postLoad property.
887         * 
888         * @return
889         *     possible object is
890         *     {@link PostLoad }
891         *     
892         */
893        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
894        public PostLoad getPostLoad() {
895            return postLoad;
896        }
897    
898        /**
899         * Sets the value of the postLoad property.
900         * 
901         * @param value
902         *     allowed object is
903         *     {@link PostLoad }
904         *     
905         */
906        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
907        public void setPostLoad(PostLoad value) {
908            this.postLoad = value;
909        }
910    
911        /**
912         * Gets the value of the attributeOverride property.
913         * 
914         * <p>
915         * This accessor method returns a reference to the live list,
916         * not a snapshot. Therefore any modification you make to the
917         * returned list will be present inside the JAXB object.
918         * This is why there is not a <CODE>set</CODE> method for the attributeOverride property.
919         * 
920         * <p>
921         * For example, to add a new item, do as follows:
922         * <pre>
923         *    getAttributeOverride().add(newItem);
924         * </pre>
925         * 
926         * 
927         * <p>
928         * Objects of the following type(s) are allowed in the list
929         * {@link AttributeOverride }
930         * 
931         * 
932         */
933        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
934        public List<AttributeOverride> getAttributeOverride() {
935            if (attributeOverride == null) {
936                attributeOverride = new ArrayList<AttributeOverride>();
937            }
938            return this.attributeOverride;
939        }
940    
941        /**
942         * Gets the value of the associationOverride property.
943         * 
944         * <p>
945         * This accessor method returns a reference to the live list,
946         * not a snapshot. Therefore any modification you make to the
947         * returned list will be present inside the JAXB object.
948         * This is why there is not a <CODE>set</CODE> method for the associationOverride property.
949         * 
950         * <p>
951         * For example, to add a new item, do as follows:
952         * <pre>
953         *    getAssociationOverride().add(newItem);
954         * </pre>
955         * 
956         * 
957         * <p>
958         * Objects of the following type(s) are allowed in the list
959         * {@link AssociationOverride }
960         * 
961         * 
962         */
963        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
964        public List<AssociationOverride> getAssociationOverride() {
965            if (associationOverride == null) {
966                associationOverride = new ArrayList<AssociationOverride>();
967            }
968            return this.associationOverride;
969        }
970    
971        /**
972         * Gets the value of the attributes property.
973         * 
974         * @return
975         *     possible object is
976         *     {@link Attributes }
977         *     
978         */
979        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
980        public Attributes getAttributes() {
981            return attributes;
982        }
983    
984        /**
985         * Sets the value of the attributes property.
986         * 
987         * @param value
988         *     allowed object is
989         *     {@link Attributes }
990         *     
991         */
992        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
993        public void setAttributes(Attributes value) {
994            this.attributes = value;
995        }
996    
997        /**
998         * Gets the value of the name property.
999         * 
1000         * @return
1001         *     possible object is
1002         *     {@link String }
1003         *     
1004         */
1005        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1006        public String getName() {
1007            return name;
1008        }
1009    
1010        /**
1011         * Sets the value of the name property.
1012         * 
1013         * @param value
1014         *     allowed object is
1015         *     {@link String }
1016         *     
1017         */
1018        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1019        public void setName(String value) {
1020            this.name = value;
1021        }
1022    
1023        /**
1024         * Gets the value of the clazz property.
1025         * 
1026         * @return
1027         *     possible object is
1028         *     {@link String }
1029         *     
1030         */
1031        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1032        public String getClazz() {
1033            return clazz;
1034        }
1035    
1036        /**
1037         * Sets the value of the clazz property.
1038         * 
1039         * @param value
1040         *     allowed object is
1041         *     {@link String }
1042         *     
1043         */
1044        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1045        public void setClazz(String value) {
1046            this.clazz = value;
1047        }
1048    
1049        /**
1050         * Gets the value of the access property.
1051         * 
1052         * @return
1053         *     possible object is
1054         *     {@link AccessType }
1055         *     
1056         */
1057        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1058        public AccessType getAccess() {
1059            return access;
1060        }
1061    
1062        /**
1063         * Sets the value of the access property.
1064         * 
1065         * @param value
1066         *     allowed object is
1067         *     {@link AccessType }
1068         *     
1069         */
1070        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1071        public void setAccess(AccessType value) {
1072            this.access = value;
1073        }
1074    
1075        /**
1076         * Gets the value of the metadataComplete property.
1077         * 
1078         * @return
1079         *     possible object is
1080         *     {@link Boolean }
1081         *     
1082         */
1083        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1084        public Boolean isMetadataComplete() {
1085            return metadataComplete;
1086        }
1087    
1088        /**
1089         * Sets the value of the metadataComplete property.
1090         * 
1091         * @param value
1092         *     allowed object is
1093         *     {@link Boolean }
1094         *     
1095         */
1096        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1097        public void setMetadataComplete(Boolean value) {
1098            this.metadataComplete = value;
1099        }
1100    
1101        /**
1102         * Copies all values of property {@code SecondaryTable} deeply.
1103         * 
1104         * @param target
1105         *     The target to copy {@code source} to.
1106         * @param source
1107         *     The source to copy from.
1108         * @throws NullPointerException
1109         *     if {@code source} or {@code target} is {@code null}.
1110         */
1111        @SuppressWarnings("unchecked")
1112        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1113        private static void copySecondaryTable(final List<SecondaryTable> source, final List<SecondaryTable> target) {
1114            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1115            if (!source.isEmpty()) {
1116                for (Iterator it = source.iterator(); it.hasNext(); ) {
1117                    final Object next = it.next();
1118                    if (next instanceof SecondaryTable) {
1119                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.SecondaryTable
1120                        target.add(((SecondaryTable) next).clone());
1121                        continue;
1122                    }
1123                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1124                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'SecondaryTable' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1125                }
1126            }
1127        }
1128    
1129        /**
1130         * Copies all values of property {@code PrimaryKeyJoinColumn} deeply.
1131         * 
1132         * @param target
1133         *     The target to copy {@code source} to.
1134         * @param source
1135         *     The source to copy from.
1136         * @throws NullPointerException
1137         *     if {@code source} or {@code target} is {@code null}.
1138         */
1139        @SuppressWarnings("unchecked")
1140        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1141        private static void copyPrimaryKeyJoinColumn(final List<PrimaryKeyJoinColumn> source, final List<PrimaryKeyJoinColumn> target) {
1142            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1143            if (!source.isEmpty()) {
1144                for (Iterator it = source.iterator(); it.hasNext(); ) {
1145                    final Object next = it.next();
1146                    if (next instanceof PrimaryKeyJoinColumn) {
1147                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.PrimaryKeyJoinColumn
1148                        target.add(((PrimaryKeyJoinColumn) next).clone());
1149                        continue;
1150                    }
1151                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1152                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'PrimaryKeyJoinColumn' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1153                }
1154            }
1155        }
1156    
1157        /**
1158         * Copies all values of property {@code NamedQuery} deeply.
1159         * 
1160         * @param target
1161         *     The target to copy {@code source} to.
1162         * @param source
1163         *     The source to copy from.
1164         * @throws NullPointerException
1165         *     if {@code source} or {@code target} is {@code null}.
1166         */
1167        @SuppressWarnings("unchecked")
1168        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1169        private static void copyNamedQuery(final List<NamedQuery> source, final List<NamedQuery> target) {
1170            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1171            if (!source.isEmpty()) {
1172                for (Iterator it = source.iterator(); it.hasNext(); ) {
1173                    final Object next = it.next();
1174                    if (next instanceof NamedQuery) {
1175                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.NamedQuery
1176                        target.add(((NamedQuery) next).clone());
1177                        continue;
1178                    }
1179                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1180                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'NamedQuery' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1181                }
1182            }
1183        }
1184    
1185        /**
1186         * Copies all values of property {@code NamedNativeQuery} deeply.
1187         * 
1188         * @param target
1189         *     The target to copy {@code source} to.
1190         * @param source
1191         *     The source to copy from.
1192         * @throws NullPointerException
1193         *     if {@code source} or {@code target} is {@code null}.
1194         */
1195        @SuppressWarnings("unchecked")
1196        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1197        private static void copyNamedNativeQuery(final List<NamedNativeQuery> source, final List<NamedNativeQuery> target) {
1198            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1199            if (!source.isEmpty()) {
1200                for (Iterator it = source.iterator(); it.hasNext(); ) {
1201                    final Object next = it.next();
1202                    if (next instanceof NamedNativeQuery) {
1203                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.NamedNativeQuery
1204                        target.add(((NamedNativeQuery) next).clone());
1205                        continue;
1206                    }
1207                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1208                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'NamedNativeQuery' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1209                }
1210            }
1211        }
1212    
1213        /**
1214         * Copies all values of property {@code SqlResultSetMapping} deeply.
1215         * 
1216         * @param target
1217         *     The target to copy {@code source} to.
1218         * @param source
1219         *     The source to copy from.
1220         * @throws NullPointerException
1221         *     if {@code source} or {@code target} is {@code null}.
1222         */
1223        @SuppressWarnings("unchecked")
1224        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1225        private static void copySqlResultSetMapping(final List<SqlResultSetMapping> source, final List<SqlResultSetMapping> target) {
1226            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1227            if (!source.isEmpty()) {
1228                for (Iterator it = source.iterator(); it.hasNext(); ) {
1229                    final Object next = it.next();
1230                    if (next instanceof SqlResultSetMapping) {
1231                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.SqlResultSetMapping
1232                        target.add(((SqlResultSetMapping) next).clone());
1233                        continue;
1234                    }
1235                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1236                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'SqlResultSetMapping' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1237                }
1238            }
1239        }
1240    
1241        /**
1242         * Copies all values of property {@code AttributeOverride} deeply.
1243         * 
1244         * @param target
1245         *     The target to copy {@code source} to.
1246         * @param source
1247         *     The source to copy from.
1248         * @throws NullPointerException
1249         *     if {@code source} or {@code target} is {@code null}.
1250         */
1251        @SuppressWarnings("unchecked")
1252        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1253        private static void copyAttributeOverride(final List<AttributeOverride> source, final List<AttributeOverride> target) {
1254            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1255            if (!source.isEmpty()) {
1256                for (Iterator it = source.iterator(); it.hasNext(); ) {
1257                    final Object next = it.next();
1258                    if (next instanceof AttributeOverride) {
1259                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.AttributeOverride
1260                        target.add(((AttributeOverride) next).clone());
1261                        continue;
1262                    }
1263                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1264                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'AttributeOverride' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1265                }
1266            }
1267        }
1268    
1269        /**
1270         * Copies all values of property {@code AssociationOverride} deeply.
1271         * 
1272         * @param target
1273         *     The target to copy {@code source} to.
1274         * @param source
1275         *     The source to copy from.
1276         * @throws NullPointerException
1277         *     if {@code source} or {@code target} is {@code null}.
1278         */
1279        @SuppressWarnings("unchecked")
1280        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1281        private static void copyAssociationOverride(final List<AssociationOverride> source, final List<AssociationOverride> target) {
1282            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1283            if (!source.isEmpty()) {
1284                for (Iterator it = source.iterator(); it.hasNext(); ) {
1285                    final Object next = it.next();
1286                    if (next instanceof AssociationOverride) {
1287                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.AssociationOverride
1288                        target.add(((AssociationOverride) next).clone());
1289                        continue;
1290                    }
1291                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
1292                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'AssociationOverride' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Entity'."));
1293                }
1294            }
1295        }
1296    
1297        /**
1298         * Creates and returns a deep copy of this object.
1299         * 
1300         * 
1301         * @return
1302         *     A deep copy of this object.
1303         */
1304        @Override
1305        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1306        public Entity clone() {
1307            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1308            return new Entity(this);
1309        }
1310    
1311    }