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.XmlElement;
018    import javax.xml.bind.annotation.XmlType;
019    
020    
021    /**
022     * 
023     * 
024     *         This element contains the entity field or property mappings.
025     *         It may be sparsely populated to include only a subset of the
026     *         fields or properties. If metadata-complete for the entity is true
027     *         then the remainder of the attributes will be defaulted according
028     *         to the default rules.
029     * 
030     *       
031     * 
032     * <p>Java class for attributes complex type.
033     * 
034     * <p>The following schema fragment specifies the expected content contained within this class.
035     * 
036     * <pre>
037     * &lt;complexType name="attributes">
038     *   &lt;complexContent>
039     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
040     *       &lt;sequence>
041     *         &lt;choice>
042     *           &lt;element name="id" type="{http://java.sun.com/xml/ns/persistence/orm}id" maxOccurs="unbounded" minOccurs="0"/>
043     *           &lt;element name="embedded-id" type="{http://java.sun.com/xml/ns/persistence/orm}embedded-id" minOccurs="0"/>
044     *         &lt;/choice>
045     *         &lt;element name="basic" type="{http://java.sun.com/xml/ns/persistence/orm}basic" maxOccurs="unbounded" minOccurs="0"/>
046     *         &lt;element name="version" type="{http://java.sun.com/xml/ns/persistence/orm}version" maxOccurs="unbounded" minOccurs="0"/>
047     *         &lt;element name="many-to-one" type="{http://java.sun.com/xml/ns/persistence/orm}many-to-one" maxOccurs="unbounded" minOccurs="0"/>
048     *         &lt;element name="one-to-many" type="{http://java.sun.com/xml/ns/persistence/orm}one-to-many" maxOccurs="unbounded" minOccurs="0"/>
049     *         &lt;element name="one-to-one" type="{http://java.sun.com/xml/ns/persistence/orm}one-to-one" maxOccurs="unbounded" minOccurs="0"/>
050     *         &lt;element name="many-to-many" type="{http://java.sun.com/xml/ns/persistence/orm}many-to-many" maxOccurs="unbounded" minOccurs="0"/>
051     *         &lt;element name="embedded" type="{http://java.sun.com/xml/ns/persistence/orm}embedded" maxOccurs="unbounded" minOccurs="0"/>
052     *         &lt;element name="transient" type="{http://java.sun.com/xml/ns/persistence/orm}transient" maxOccurs="unbounded" minOccurs="0"/>
053     *       &lt;/sequence>
054     *     &lt;/restriction>
055     *   &lt;/complexContent>
056     * &lt;/complexType>
057     * </pre>
058     * 
059     * 
060     */
061    @XmlAccessorType(XmlAccessType.FIELD)
062    @XmlType(name = "attributes", propOrder = {
063        "id",
064        "embeddedId",
065        "basic",
066        "version",
067        "manyToOne",
068        "oneToMany",
069        "oneToOne",
070        "manyToMany",
071        "embedded",
072        "_transient"
073    })
074    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
075    public class Attributes implements Cloneable
076    {
077    
078        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
079        protected List<Id> id;
080        @XmlElement(name = "embedded-id")
081        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
082        protected EmbeddedId embeddedId;
083        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
084        protected List<Basic> basic;
085        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
086        protected List<Version> version;
087        @XmlElement(name = "many-to-one")
088        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
089        protected List<ManyToOne> manyToOne;
090        @XmlElement(name = "one-to-many")
091        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
092        protected List<OneToMany> oneToMany;
093        @XmlElement(name = "one-to-one")
094        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
095        protected List<OneToOne> oneToOne;
096        @XmlElement(name = "many-to-many")
097        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
098        protected List<ManyToMany> manyToMany;
099        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
100        protected List<Embedded> embedded;
101        @XmlElement(name = "transient")
102        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
103        protected List<Transient> _transient;
104    
105        /**
106         * Creates a new {@code Attributes} instance.
107         * 
108         */
109        public Attributes() {
110            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
111            super();
112        }
113    
114        /**
115         * Creates a new {@code Attributes} instance by deeply copying a given {@code Attributes} instance.
116         * 
117         * 
118         * @param o
119         *     The instance to copy.
120         * @throws NullPointerException
121         *     if {@code o} is {@code null}.
122         */
123        public Attributes(final Attributes o) {
124            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
125            super();
126            if (o == null) {
127                throw new NullPointerException("Cannot create a copy of 'Attributes' from 'null'.");
128            }
129            // 'Id' collection.
130            copyId(o.getId(), getId());
131            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.EmbeddedId
132            this.embeddedId = ((o.getEmbeddedId() == null)?null:o.getEmbeddedId().clone());
133            // 'Basic' collection.
134            copyBasic(o.getBasic(), getBasic());
135            // 'Version' collection.
136            copyVersion(o.getVersion(), getVersion());
137            // 'ManyToOne' collection.
138            copyManyToOne(o.getManyToOne(), getManyToOne());
139            // 'OneToMany' collection.
140            copyOneToMany(o.getOneToMany(), getOneToMany());
141            // 'OneToOne' collection.
142            copyOneToOne(o.getOneToOne(), getOneToOne());
143            // 'ManyToMany' collection.
144            copyManyToMany(o.getManyToMany(), getManyToMany());
145            // 'Embedded' collection.
146            copyEmbedded(o.getEmbedded(), getEmbedded());
147            // 'Transient' collection.
148            copyTransient(o.getTransient(), getTransient());
149        }
150    
151        /**
152         * Gets the value of the id property.
153         * 
154         * <p>
155         * This accessor method returns a reference to the live list,
156         * not a snapshot. Therefore any modification you make to the
157         * returned list will be present inside the JAXB object.
158         * This is why there is not a <CODE>set</CODE> method for the id property.
159         * 
160         * <p>
161         * For example, to add a new item, do as follows:
162         * <pre>
163         *    getId().add(newItem);
164         * </pre>
165         * 
166         * 
167         * <p>
168         * Objects of the following type(s) are allowed in the list
169         * {@link Id }
170         * 
171         * 
172         */
173        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
174        public List<Id> getId() {
175            if (id == null) {
176                id = new ArrayList<Id>();
177            }
178            return this.id;
179        }
180    
181        /**
182         * Gets the value of the embeddedId property.
183         * 
184         * @return
185         *     possible object is
186         *     {@link EmbeddedId }
187         *     
188         */
189        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
190        public EmbeddedId getEmbeddedId() {
191            return embeddedId;
192        }
193    
194        /**
195         * Sets the value of the embeddedId property.
196         * 
197         * @param value
198         *     allowed object is
199         *     {@link EmbeddedId }
200         *     
201         */
202        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
203        public void setEmbeddedId(EmbeddedId value) {
204            this.embeddedId = value;
205        }
206    
207        /**
208         * Gets the value of the basic property.
209         * 
210         * <p>
211         * This accessor method returns a reference to the live list,
212         * not a snapshot. Therefore any modification you make to the
213         * returned list will be present inside the JAXB object.
214         * This is why there is not a <CODE>set</CODE> method for the basic property.
215         * 
216         * <p>
217         * For example, to add a new item, do as follows:
218         * <pre>
219         *    getBasic().add(newItem);
220         * </pre>
221         * 
222         * 
223         * <p>
224         * Objects of the following type(s) are allowed in the list
225         * {@link Basic }
226         * 
227         * 
228         */
229        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
230        public List<Basic> getBasic() {
231            if (basic == null) {
232                basic = new ArrayList<Basic>();
233            }
234            return this.basic;
235        }
236    
237        /**
238         * Gets the value of the version property.
239         * 
240         * <p>
241         * This accessor method returns a reference to the live list,
242         * not a snapshot. Therefore any modification you make to the
243         * returned list will be present inside the JAXB object.
244         * This is why there is not a <CODE>set</CODE> method for the version property.
245         * 
246         * <p>
247         * For example, to add a new item, do as follows:
248         * <pre>
249         *    getVersion().add(newItem);
250         * </pre>
251         * 
252         * 
253         * <p>
254         * Objects of the following type(s) are allowed in the list
255         * {@link Version }
256         * 
257         * 
258         */
259        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
260        public List<Version> getVersion() {
261            if (version == null) {
262                version = new ArrayList<Version>();
263            }
264            return this.version;
265        }
266    
267        /**
268         * Gets the value of the manyToOne property.
269         * 
270         * <p>
271         * This accessor method returns a reference to the live list,
272         * not a snapshot. Therefore any modification you make to the
273         * returned list will be present inside the JAXB object.
274         * This is why there is not a <CODE>set</CODE> method for the manyToOne property.
275         * 
276         * <p>
277         * For example, to add a new item, do as follows:
278         * <pre>
279         *    getManyToOne().add(newItem);
280         * </pre>
281         * 
282         * 
283         * <p>
284         * Objects of the following type(s) are allowed in the list
285         * {@link ManyToOne }
286         * 
287         * 
288         */
289        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
290        public List<ManyToOne> getManyToOne() {
291            if (manyToOne == null) {
292                manyToOne = new ArrayList<ManyToOne>();
293            }
294            return this.manyToOne;
295        }
296    
297        /**
298         * Gets the value of the oneToMany property.
299         * 
300         * <p>
301         * This accessor method returns a reference to the live list,
302         * not a snapshot. Therefore any modification you make to the
303         * returned list will be present inside the JAXB object.
304         * This is why there is not a <CODE>set</CODE> method for the oneToMany property.
305         * 
306         * <p>
307         * For example, to add a new item, do as follows:
308         * <pre>
309         *    getOneToMany().add(newItem);
310         * </pre>
311         * 
312         * 
313         * <p>
314         * Objects of the following type(s) are allowed in the list
315         * {@link OneToMany }
316         * 
317         * 
318         */
319        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
320        public List<OneToMany> getOneToMany() {
321            if (oneToMany == null) {
322                oneToMany = new ArrayList<OneToMany>();
323            }
324            return this.oneToMany;
325        }
326    
327        /**
328         * Gets the value of the oneToOne property.
329         * 
330         * <p>
331         * This accessor method returns a reference to the live list,
332         * not a snapshot. Therefore any modification you make to the
333         * returned list will be present inside the JAXB object.
334         * This is why there is not a <CODE>set</CODE> method for the oneToOne property.
335         * 
336         * <p>
337         * For example, to add a new item, do as follows:
338         * <pre>
339         *    getOneToOne().add(newItem);
340         * </pre>
341         * 
342         * 
343         * <p>
344         * Objects of the following type(s) are allowed in the list
345         * {@link OneToOne }
346         * 
347         * 
348         */
349        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
350        public List<OneToOne> getOneToOne() {
351            if (oneToOne == null) {
352                oneToOne = new ArrayList<OneToOne>();
353            }
354            return this.oneToOne;
355        }
356    
357        /**
358         * Gets the value of the manyToMany property.
359         * 
360         * <p>
361         * This accessor method returns a reference to the live list,
362         * not a snapshot. Therefore any modification you make to the
363         * returned list will be present inside the JAXB object.
364         * This is why there is not a <CODE>set</CODE> method for the manyToMany property.
365         * 
366         * <p>
367         * For example, to add a new item, do as follows:
368         * <pre>
369         *    getManyToMany().add(newItem);
370         * </pre>
371         * 
372         * 
373         * <p>
374         * Objects of the following type(s) are allowed in the list
375         * {@link ManyToMany }
376         * 
377         * 
378         */
379        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
380        public List<ManyToMany> getManyToMany() {
381            if (manyToMany == null) {
382                manyToMany = new ArrayList<ManyToMany>();
383            }
384            return this.manyToMany;
385        }
386    
387        /**
388         * Gets the value of the embedded property.
389         * 
390         * <p>
391         * This accessor method returns a reference to the live list,
392         * not a snapshot. Therefore any modification you make to the
393         * returned list will be present inside the JAXB object.
394         * This is why there is not a <CODE>set</CODE> method for the embedded property.
395         * 
396         * <p>
397         * For example, to add a new item, do as follows:
398         * <pre>
399         *    getEmbedded().add(newItem);
400         * </pre>
401         * 
402         * 
403         * <p>
404         * Objects of the following type(s) are allowed in the list
405         * {@link Embedded }
406         * 
407         * 
408         */
409        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
410        public List<Embedded> getEmbedded() {
411            if (embedded == null) {
412                embedded = new ArrayList<Embedded>();
413            }
414            return this.embedded;
415        }
416    
417        /**
418         * Gets the value of the transient property.
419         * 
420         * <p>
421         * This accessor method returns a reference to the live list,
422         * not a snapshot. Therefore any modification you make to the
423         * returned list will be present inside the JAXB object.
424         * This is why there is not a <CODE>set</CODE> method for the transient property.
425         * 
426         * <p>
427         * For example, to add a new item, do as follows:
428         * <pre>
429         *    getTransient().add(newItem);
430         * </pre>
431         * 
432         * 
433         * <p>
434         * Objects of the following type(s) are allowed in the list
435         * {@link Transient }
436         * 
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 List<Transient> getTransient() {
441            if (_transient == null) {
442                _transient = new ArrayList<Transient>();
443            }
444            return this._transient;
445        }
446    
447        /**
448         * Copies all values of property {@code Id} deeply.
449         * 
450         * @param target
451         *     The target to copy {@code source} to.
452         * @param source
453         *     The source to copy from.
454         * @throws NullPointerException
455         *     if {@code source} or {@code target} is {@code null}.
456         */
457        @SuppressWarnings("unchecked")
458        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
459        private static void copyId(final List<Id> source, final List<Id> target) {
460            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
461            if (!source.isEmpty()) {
462                for (Iterator it = source.iterator(); it.hasNext(); ) {
463                    final Object next = it.next();
464                    if (next instanceof Id) {
465                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Id
466                        target.add(((Id) next).clone());
467                        continue;
468                    }
469                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
470                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Id' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
471                }
472            }
473        }
474    
475        /**
476         * Copies all values of property {@code Basic} deeply.
477         * 
478         * @param target
479         *     The target to copy {@code source} to.
480         * @param source
481         *     The source to copy from.
482         * @throws NullPointerException
483         *     if {@code source} or {@code target} is {@code null}.
484         */
485        @SuppressWarnings("unchecked")
486        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
487        private static void copyBasic(final List<Basic> source, final List<Basic> target) {
488            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
489            if (!source.isEmpty()) {
490                for (Iterator it = source.iterator(); it.hasNext(); ) {
491                    final Object next = it.next();
492                    if (next instanceof Basic) {
493                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Basic
494                        target.add(((Basic) next).clone());
495                        continue;
496                    }
497                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
498                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Basic' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
499                }
500            }
501        }
502    
503        /**
504         * Copies all values of property {@code Version} deeply.
505         * 
506         * @param target
507         *     The target to copy {@code source} to.
508         * @param source
509         *     The source to copy from.
510         * @throws NullPointerException
511         *     if {@code source} or {@code target} is {@code null}.
512         */
513        @SuppressWarnings("unchecked")
514        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
515        private static void copyVersion(final List<Version> source, final List<Version> target) {
516            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
517            if (!source.isEmpty()) {
518                for (Iterator it = source.iterator(); it.hasNext(); ) {
519                    final Object next = it.next();
520                    if (next instanceof Version) {
521                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Version
522                        target.add(((Version) next).clone());
523                        continue;
524                    }
525                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
526                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Version' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
527                }
528            }
529        }
530    
531        /**
532         * Copies all values of property {@code ManyToOne} deeply.
533         * 
534         * @param target
535         *     The target to copy {@code source} to.
536         * @param source
537         *     The source to copy from.
538         * @throws NullPointerException
539         *     if {@code source} or {@code target} is {@code null}.
540         */
541        @SuppressWarnings("unchecked")
542        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
543        private static void copyManyToOne(final List<ManyToOne> source, final List<ManyToOne> target) {
544            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
545            if (!source.isEmpty()) {
546                for (Iterator it = source.iterator(); it.hasNext(); ) {
547                    final Object next = it.next();
548                    if (next instanceof ManyToOne) {
549                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.ManyToOne
550                        target.add(((ManyToOne) next).clone());
551                        continue;
552                    }
553                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
554                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'ManyToOne' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
555                }
556            }
557        }
558    
559        /**
560         * Copies all values of property {@code OneToMany} deeply.
561         * 
562         * @param target
563         *     The target to copy {@code source} to.
564         * @param source
565         *     The source to copy from.
566         * @throws NullPointerException
567         *     if {@code source} or {@code target} is {@code null}.
568         */
569        @SuppressWarnings("unchecked")
570        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
571        private static void copyOneToMany(final List<OneToMany> source, final List<OneToMany> target) {
572            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
573            if (!source.isEmpty()) {
574                for (Iterator it = source.iterator(); it.hasNext(); ) {
575                    final Object next = it.next();
576                    if (next instanceof OneToMany) {
577                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.OneToMany
578                        target.add(((OneToMany) next).clone());
579                        continue;
580                    }
581                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
582                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'OneToMany' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
583                }
584            }
585        }
586    
587        /**
588         * Copies all values of property {@code OneToOne} deeply.
589         * 
590         * @param target
591         *     The target to copy {@code source} to.
592         * @param source
593         *     The source to copy from.
594         * @throws NullPointerException
595         *     if {@code source} or {@code target} is {@code null}.
596         */
597        @SuppressWarnings("unchecked")
598        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
599        private static void copyOneToOne(final List<OneToOne> source, final List<OneToOne> target) {
600            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
601            if (!source.isEmpty()) {
602                for (Iterator it = source.iterator(); it.hasNext(); ) {
603                    final Object next = it.next();
604                    if (next instanceof OneToOne) {
605                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.OneToOne
606                        target.add(((OneToOne) next).clone());
607                        continue;
608                    }
609                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
610                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'OneToOne' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
611                }
612            }
613        }
614    
615        /**
616         * Copies all values of property {@code ManyToMany} deeply.
617         * 
618         * @param target
619         *     The target to copy {@code source} to.
620         * @param source
621         *     The source to copy from.
622         * @throws NullPointerException
623         *     if {@code source} or {@code target} is {@code null}.
624         */
625        @SuppressWarnings("unchecked")
626        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
627        private static void copyManyToMany(final List<ManyToMany> source, final List<ManyToMany> target) {
628            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
629            if (!source.isEmpty()) {
630                for (Iterator it = source.iterator(); it.hasNext(); ) {
631                    final Object next = it.next();
632                    if (next instanceof ManyToMany) {
633                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.ManyToMany
634                        target.add(((ManyToMany) next).clone());
635                        continue;
636                    }
637                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
638                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'ManyToMany' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
639                }
640            }
641        }
642    
643        /**
644         * Copies all values of property {@code Embedded} deeply.
645         * 
646         * @param target
647         *     The target to copy {@code source} to.
648         * @param source
649         *     The source to copy from.
650         * @throws NullPointerException
651         *     if {@code source} or {@code target} is {@code null}.
652         */
653        @SuppressWarnings("unchecked")
654        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
655        private static void copyEmbedded(final List<Embedded> source, final List<Embedded> target) {
656            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
657            if (!source.isEmpty()) {
658                for (Iterator it = source.iterator(); it.hasNext(); ) {
659                    final Object next = it.next();
660                    if (next instanceof Embedded) {
661                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Embedded
662                        target.add(((Embedded) next).clone());
663                        continue;
664                    }
665                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
666                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Embedded' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
667                }
668            }
669        }
670    
671        /**
672         * Copies all values of property {@code Transient} deeply.
673         * 
674         * @param target
675         *     The target to copy {@code source} to.
676         * @param source
677         *     The source to copy from.
678         * @throws NullPointerException
679         *     if {@code source} or {@code target} is {@code null}.
680         */
681        @SuppressWarnings("unchecked")
682        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
683        private static void copyTransient(final List<Transient> source, final List<Transient> target) {
684            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
685            if (!source.isEmpty()) {
686                for (Iterator it = source.iterator(); it.hasNext(); ) {
687                    final Object next = it.next();
688                    if (next instanceof Transient) {
689                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.Transient
690                        target.add(((Transient) next).clone());
691                        continue;
692                    }
693                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
694                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Transient' of class 'net.sourceforge.jpaxjc.ns.persistence.orm.Attributes'."));
695                }
696            }
697        }
698    
699        /**
700         * Creates and returns a deep copy of this object.
701         * 
702         * 
703         * @return
704         *     A deep copy of this object.
705         */
706        @Override
707        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
708        public Attributes clone() {
709            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
710            return new Attributes(this);
711        }
712    
713    }