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;
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.XmlRootElement;
020    import javax.xml.bind.annotation.XmlType;
021    import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
022    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
023    
024    
025    /**
026     * <p>Java class for anonymous complex type.
027     * 
028     * <p>The following schema fragment specifies the expected content contained within this class.
029     * 
030     * <pre>
031     * &lt;complexType>
032     *   &lt;complexContent>
033     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
034     *       &lt;sequence>
035     *         &lt;element name="persistence-unit" maxOccurs="unbounded" minOccurs="0">
036     *           &lt;complexType>
037     *             &lt;complexContent>
038     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
039     *                 &lt;sequence>
040     *                   &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
041     *                   &lt;element name="provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
042     *                   &lt;element name="jta-data-source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
043     *                   &lt;element name="non-jta-data-source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
044     *                   &lt;element name="mapping-file" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
045     *                   &lt;element name="jar-file" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
046     *                   &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
047     *                   &lt;element name="exclude-unlisted-classes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
048     *                   &lt;element name="properties" minOccurs="0">
049     *                     &lt;complexType>
050     *                       &lt;complexContent>
051     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
052     *                           &lt;sequence>
053     *                             &lt;element name="property" maxOccurs="unbounded" minOccurs="0">
054     *                               &lt;complexType>
055     *                                 &lt;complexContent>
056     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
057     *                                     &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
058     *                                     &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
059     *                                   &lt;/restriction>
060     *                                 &lt;/complexContent>
061     *                               &lt;/complexType>
062     *                             &lt;/element>
063     *                           &lt;/sequence>
064     *                         &lt;/restriction>
065     *                       &lt;/complexContent>
066     *                     &lt;/complexType>
067     *                   &lt;/element>
068     *                 &lt;/sequence>
069     *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
070     *                 &lt;attribute name="transaction-type" type="{http://java.sun.com/xml/ns/persistence}persistence-unit-transaction-type" />
071     *               &lt;/restriction>
072     *             &lt;/complexContent>
073     *           &lt;/complexType>
074     *         &lt;/element>
075     *       &lt;/sequence>
076     *       &lt;attribute name="version" use="required" type="{http://java.sun.com/xml/ns/persistence}versionType" fixed="1.0" />
077     *     &lt;/restriction>
078     *   &lt;/complexContent>
079     * &lt;/complexType>
080     * </pre>
081     * 
082     * 
083     */
084    @XmlAccessorType(XmlAccessType.FIELD)
085    @XmlType(name = "", propOrder = {
086        "persistenceUnit"
087    })
088    @XmlRootElement(name = "persistence")
089    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
090    public class Persistence implements Cloneable
091    {
092    
093        @XmlElement(name = "persistence-unit")
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<Persistence.PersistenceUnit> persistenceUnit;
096        @XmlAttribute(required = true)
097        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
098        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
099        protected String version;
100    
101        /**
102         * Creates a new {@code Persistence} instance.
103         * 
104         */
105        public Persistence() {
106            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
107            super();
108        }
109    
110        /**
111         * Creates a new {@code Persistence} instance by deeply copying a given {@code Persistence} instance.
112         * 
113         * 
114         * @param o
115         *     The instance to copy.
116         * @throws NullPointerException
117         *     if {@code o} is {@code null}.
118         */
119        public Persistence(final Persistence o) {
120            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
121            super();
122            if (o == null) {
123                throw new NullPointerException("Cannot create a copy of 'Persistence' from 'null'.");
124            }
125            // 'PersistenceUnit' collection.
126            copyPersistenceUnit(o.getPersistenceUnit(), getPersistenceUnit());
127            // CBuiltinLeafInfo: java.lang.String
128            this.version = o.getVersion();
129        }
130    
131        /**
132         * Gets the value of the persistenceUnit property.
133         * 
134         * <p>
135         * This accessor method returns a reference to the live list,
136         * not a snapshot. Therefore any modification you make to the
137         * returned list will be present inside the JAXB object.
138         * This is why there is not a <CODE>set</CODE> method for the persistenceUnit property.
139         * 
140         * <p>
141         * For example, to add a new item, do as follows:
142         * <pre>
143         *    getPersistenceUnit().add(newItem);
144         * </pre>
145         * 
146         * 
147         * <p>
148         * Objects of the following type(s) are allowed in the list
149         * {@link Persistence.PersistenceUnit }
150         * 
151         * 
152         */
153        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
154        public List<Persistence.PersistenceUnit> getPersistenceUnit() {
155            if (persistenceUnit == null) {
156                persistenceUnit = new ArrayList<Persistence.PersistenceUnit>();
157            }
158            return this.persistenceUnit;
159        }
160    
161        /**
162         * Gets the value of the version property.
163         * 
164         * @return
165         *     possible object is
166         *     {@link String }
167         *     
168         */
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        public String getVersion() {
171            if (version == null) {
172                return "1.0";
173            } else {
174                return version;
175            }
176        }
177    
178        /**
179         * Sets the value of the version property.
180         * 
181         * @param value
182         *     allowed object is
183         *     {@link String }
184         *     
185         */
186        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
187        public void setVersion(String value) {
188            this.version = value;
189        }
190    
191        /**
192         * Copies all values of property {@code PersistenceUnit} deeply.
193         * 
194         * @param target
195         *     The target to copy {@code source} to.
196         * @param source
197         *     The source to copy from.
198         * @throws NullPointerException
199         *     if {@code source} or {@code target} is {@code null}.
200         */
201        @SuppressWarnings("unchecked")
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        private static void copyPersistenceUnit(final List<Persistence.PersistenceUnit> source, final List<Persistence.PersistenceUnit> target) {
204            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
205            if (!source.isEmpty()) {
206                for (Iterator it = source.iterator(); it.hasNext(); ) {
207                    final Object next = it.next();
208                    if (next instanceof Persistence.PersistenceUnit) {
209                        // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit
210                        target.add(((Persistence.PersistenceUnit) next).clone());
211                        continue;
212                    }
213                    // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
214                    throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'PersistenceUnit' of class 'net.sourceforge.jpaxjc.ns.persistence.Persistence'."));
215                }
216            }
217        }
218    
219        /**
220         * Creates and returns a deep copy of this object.
221         * 
222         * 
223         * @return
224         *     A deep copy of this object.
225         */
226        @Override
227        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
228        public Persistence clone() {
229            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
230            return new Persistence(this);
231        }
232    
233    
234        /**
235         * 
236         * 
237         *                 Configuration of a persistence unit.
238         * 
239         *               
240         * 
241         * <p>Java class for anonymous complex type.
242         * 
243         * <p>The following schema fragment specifies the expected content contained within this class.
244         * 
245         * <pre>
246         * &lt;complexType>
247         *   &lt;complexContent>
248         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
249         *       &lt;sequence>
250         *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
251         *         &lt;element name="provider" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
252         *         &lt;element name="jta-data-source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
253         *         &lt;element name="non-jta-data-source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
254         *         &lt;element name="mapping-file" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
255         *         &lt;element name="jar-file" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
256         *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
257         *         &lt;element name="exclude-unlisted-classes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
258         *         &lt;element name="properties" minOccurs="0">
259         *           &lt;complexType>
260         *             &lt;complexContent>
261         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
262         *                 &lt;sequence>
263         *                   &lt;element name="property" maxOccurs="unbounded" minOccurs="0">
264         *                     &lt;complexType>
265         *                       &lt;complexContent>
266         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
267         *                           &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
268         *                           &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
269         *                         &lt;/restriction>
270         *                       &lt;/complexContent>
271         *                     &lt;/complexType>
272         *                   &lt;/element>
273         *                 &lt;/sequence>
274         *               &lt;/restriction>
275         *             &lt;/complexContent>
276         *           &lt;/complexType>
277         *         &lt;/element>
278         *       &lt;/sequence>
279         *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
280         *       &lt;attribute name="transaction-type" type="{http://java.sun.com/xml/ns/persistence}persistence-unit-transaction-type" />
281         *     &lt;/restriction>
282         *   &lt;/complexContent>
283         * &lt;/complexType>
284         * </pre>
285         * 
286         * 
287         */
288        @XmlAccessorType(XmlAccessType.FIELD)
289        @XmlType(name = "", propOrder = {
290            "description",
291            "provider",
292            "jtaDataSource",
293            "nonJtaDataSource",
294            "mappingFile",
295            "jarFile",
296            "clazz",
297            "excludeUnlistedClasses",
298            "properties"
299        })
300        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
301        public static class PersistenceUnit implements Cloneable
302        {
303    
304            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
305            protected String description;
306            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
307            protected String provider;
308            @XmlElement(name = "jta-data-source")
309            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
310            protected String jtaDataSource;
311            @XmlElement(name = "non-jta-data-source")
312            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
313            protected String nonJtaDataSource;
314            @XmlElement(name = "mapping-file")
315            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
316            protected List<String> mappingFile;
317            @XmlElement(name = "jar-file")
318            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
319            protected List<String> jarFile;
320            @XmlElement(name = "class")
321            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
322            protected List<String> clazz;
323            @XmlElement(name = "exclude-unlisted-classes", defaultValue = "false")
324            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
325            protected Boolean excludeUnlistedClasses;
326            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
327            protected Persistence.PersistenceUnit.Properties properties;
328            @XmlAttribute(required = true)
329            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
330            protected String name;
331            @XmlAttribute(name = "transaction-type")
332            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
333            protected PersistenceUnitTransactionType transactionType;
334    
335            /**
336             * Creates a new {@code PersistenceUnit} instance.
337             * 
338             */
339            public PersistenceUnit() {
340                // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
341                super();
342            }
343    
344            /**
345             * Creates a new {@code PersistenceUnit} instance by deeply copying a given {@code PersistenceUnit} instance.
346             * 
347             * 
348             * @param o
349             *     The instance to copy.
350             * @throws NullPointerException
351             *     if {@code o} is {@code null}.
352             */
353            public PersistenceUnit(final Persistence.PersistenceUnit o) {
354                // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
355                super();
356                if (o == null) {
357                    throw new NullPointerException("Cannot create a copy of 'PersistenceUnit' from 'null'.");
358                }
359                // CBuiltinLeafInfo: java.lang.String
360                this.description = o.getDescription();
361                // CBuiltinLeafInfo: java.lang.String
362                this.provider = o.getProvider();
363                // CBuiltinLeafInfo: java.lang.String
364                this.jtaDataSource = o.getJtaDataSource();
365                // CBuiltinLeafInfo: java.lang.String
366                this.nonJtaDataSource = o.getNonJtaDataSource();
367                // 'MappingFile' collection.
368                copyMappingFile(o.getMappingFile(), getMappingFile());
369                // 'JarFile' collection.
370                copyJarFile(o.getJarFile(), getJarFile());
371                // 'Clazz' collection.
372                copyClazz(o.getClazz(), getClazz());
373                // CBuiltinLeafInfo: java.lang.Boolean
374                this.excludeUnlistedClasses = o.isExcludeUnlistedClasses();
375                // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit$Properties
376                this.properties = ((o.getProperties() == null)?null:o.getProperties().clone());
377                // CBuiltinLeafInfo: java.lang.String
378                this.name = o.getName();
379                // CEnumLeafInfo: net.sourceforge.jpaxjc.ns.persistence.PersistenceUnitTransactionType
380                this.transactionType = o.getTransactionType();
381            }
382    
383            /**
384             * Gets the value of the description property.
385             * 
386             * @return
387             *     possible object is
388             *     {@link String }
389             *     
390             */
391            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
392            public String getDescription() {
393                return description;
394            }
395    
396            /**
397             * Sets the value of the description property.
398             * 
399             * @param value
400             *     allowed object is
401             *     {@link String }
402             *     
403             */
404            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
405            public void setDescription(String value) {
406                this.description = value;
407            }
408    
409            /**
410             * Gets the value of the provider property.
411             * 
412             * @return
413             *     possible object is
414             *     {@link String }
415             *     
416             */
417            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
418            public String getProvider() {
419                return provider;
420            }
421    
422            /**
423             * Sets the value of the provider property.
424             * 
425             * @param value
426             *     allowed object is
427             *     {@link String }
428             *     
429             */
430            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
431            public void setProvider(String value) {
432                this.provider = value;
433            }
434    
435            /**
436             * Gets the value of the jtaDataSource property.
437             * 
438             * @return
439             *     possible object is
440             *     {@link String }
441             *     
442             */
443            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
444            public String getJtaDataSource() {
445                return jtaDataSource;
446            }
447    
448            /**
449             * Sets the value of the jtaDataSource property.
450             * 
451             * @param value
452             *     allowed object is
453             *     {@link String }
454             *     
455             */
456            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
457            public void setJtaDataSource(String value) {
458                this.jtaDataSource = value;
459            }
460    
461            /**
462             * Gets the value of the nonJtaDataSource property.
463             * 
464             * @return
465             *     possible object is
466             *     {@link String }
467             *     
468             */
469            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
470            public String getNonJtaDataSource() {
471                return nonJtaDataSource;
472            }
473    
474            /**
475             * Sets the value of the nonJtaDataSource property.
476             * 
477             * @param value
478             *     allowed object is
479             *     {@link String }
480             *     
481             */
482            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
483            public void setNonJtaDataSource(String value) {
484                this.nonJtaDataSource = value;
485            }
486    
487            /**
488             * Gets the value of the mappingFile property.
489             * 
490             * <p>
491             * This accessor method returns a reference to the live list,
492             * not a snapshot. Therefore any modification you make to the
493             * returned list will be present inside the JAXB object.
494             * This is why there is not a <CODE>set</CODE> method for the mappingFile property.
495             * 
496             * <p>
497             * For example, to add a new item, do as follows:
498             * <pre>
499             *    getMappingFile().add(newItem);
500             * </pre>
501             * 
502             * 
503             * <p>
504             * Objects of the following type(s) are allowed in the list
505             * {@link String }
506             * 
507             * 
508             */
509            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
510            public List<String> getMappingFile() {
511                if (mappingFile == null) {
512                    mappingFile = new ArrayList<String>();
513                }
514                return this.mappingFile;
515            }
516    
517            /**
518             * Gets the value of the jarFile property.
519             * 
520             * <p>
521             * This accessor method returns a reference to the live list,
522             * not a snapshot. Therefore any modification you make to the
523             * returned list will be present inside the JAXB object.
524             * This is why there is not a <CODE>set</CODE> method for the jarFile property.
525             * 
526             * <p>
527             * For example, to add a new item, do as follows:
528             * <pre>
529             *    getJarFile().add(newItem);
530             * </pre>
531             * 
532             * 
533             * <p>
534             * Objects of the following type(s) are allowed in the list
535             * {@link String }
536             * 
537             * 
538             */
539            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
540            public List<String> getJarFile() {
541                if (jarFile == null) {
542                    jarFile = new ArrayList<String>();
543                }
544                return this.jarFile;
545            }
546    
547            /**
548             * Gets the value of the clazz property.
549             * 
550             * <p>
551             * This accessor method returns a reference to the live list,
552             * not a snapshot. Therefore any modification you make to the
553             * returned list will be present inside the JAXB object.
554             * This is why there is not a <CODE>set</CODE> method for the clazz property.
555             * 
556             * <p>
557             * For example, to add a new item, do as follows:
558             * <pre>
559             *    getClazz().add(newItem);
560             * </pre>
561             * 
562             * 
563             * <p>
564             * Objects of the following type(s) are allowed in the list
565             * {@link String }
566             * 
567             * 
568             */
569            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
570            public List<String> getClazz() {
571                if (clazz == null) {
572                    clazz = new ArrayList<String>();
573                }
574                return this.clazz;
575            }
576    
577            /**
578             * Gets the value of the excludeUnlistedClasses property.
579             * 
580             * @return
581             *     possible object is
582             *     {@link Boolean }
583             *     
584             */
585            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
586            public Boolean isExcludeUnlistedClasses() {
587                return excludeUnlistedClasses;
588            }
589    
590            /**
591             * Sets the value of the excludeUnlistedClasses property.
592             * 
593             * @param value
594             *     allowed object is
595             *     {@link Boolean }
596             *     
597             */
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            public void setExcludeUnlistedClasses(Boolean value) {
600                this.excludeUnlistedClasses = value;
601            }
602    
603            /**
604             * Gets the value of the properties property.
605             * 
606             * @return
607             *     possible object is
608             *     {@link Persistence.PersistenceUnit.Properties }
609             *     
610             */
611            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
612            public Persistence.PersistenceUnit.Properties getProperties() {
613                return properties;
614            }
615    
616            /**
617             * Sets the value of the properties property.
618             * 
619             * @param value
620             *     allowed object is
621             *     {@link Persistence.PersistenceUnit.Properties }
622             *     
623             */
624            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
625            public void setProperties(Persistence.PersistenceUnit.Properties value) {
626                this.properties = value;
627            }
628    
629            /**
630             * Gets the value of the name property.
631             * 
632             * @return
633             *     possible object is
634             *     {@link String }
635             *     
636             */
637            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
638            public String getName() {
639                return name;
640            }
641    
642            /**
643             * Sets the value of the name property.
644             * 
645             * @param value
646             *     allowed object is
647             *     {@link String }
648             *     
649             */
650            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
651            public void setName(String value) {
652                this.name = value;
653            }
654    
655            /**
656             * Gets the value of the transactionType property.
657             * 
658             * @return
659             *     possible object is
660             *     {@link PersistenceUnitTransactionType }
661             *     
662             */
663            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
664            public PersistenceUnitTransactionType getTransactionType() {
665                return transactionType;
666            }
667    
668            /**
669             * Sets the value of the transactionType property.
670             * 
671             * @param value
672             *     allowed object is
673             *     {@link PersistenceUnitTransactionType }
674             *     
675             */
676            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
677            public void setTransactionType(PersistenceUnitTransactionType value) {
678                this.transactionType = value;
679            }
680    
681            /**
682             * Copies all values of property {@code MappingFile} deeply.
683             * 
684             * @param target
685             *     The target to copy {@code source} to.
686             * @param source
687             *     The source to copy from.
688             * @throws NullPointerException
689             *     if {@code source} or {@code target} is {@code null}.
690             */
691            @SuppressWarnings("unchecked")
692            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
693            private static void copyMappingFile(final List<String> source, final List<String> target) {
694                // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
695                if (!source.isEmpty()) {
696                    for (Iterator it = source.iterator(); it.hasNext(); ) {
697                        final Object next = it.next();
698                        if (next instanceof String) {
699                            // CBuiltinLeafInfo: java.lang.String
700                            target.add(((String) next));
701                            continue;
702                        }
703                        // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
704                        throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'MappingFile' of class 'net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit'."));
705                    }
706                }
707            }
708    
709            /**
710             * Copies all values of property {@code JarFile} deeply.
711             * 
712             * @param target
713             *     The target to copy {@code source} to.
714             * @param source
715             *     The source to copy from.
716             * @throws NullPointerException
717             *     if {@code source} or {@code target} is {@code null}.
718             */
719            @SuppressWarnings("unchecked")
720            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
721            private static void copyJarFile(final List<String> source, final List<String> target) {
722                // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
723                if (!source.isEmpty()) {
724                    for (Iterator it = source.iterator(); it.hasNext(); ) {
725                        final Object next = it.next();
726                        if (next instanceof String) {
727                            // CBuiltinLeafInfo: java.lang.String
728                            target.add(((String) next));
729                            continue;
730                        }
731                        // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
732                        throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'JarFile' of class 'net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit'."));
733                    }
734                }
735            }
736    
737            /**
738             * Copies all values of property {@code Clazz} deeply.
739             * 
740             * @param target
741             *     The target to copy {@code source} to.
742             * @param source
743             *     The source to copy from.
744             * @throws NullPointerException
745             *     if {@code source} or {@code target} is {@code null}.
746             */
747            @SuppressWarnings("unchecked")
748            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
749            private static void copyClazz(final List<String> source, final List<String> target) {
750                // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
751                if (!source.isEmpty()) {
752                    for (Iterator it = source.iterator(); it.hasNext(); ) {
753                        final Object next = it.next();
754                        if (next instanceof String) {
755                            // CBuiltinLeafInfo: java.lang.String
756                            target.add(((String) next));
757                            continue;
758                        }
759                        // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
760                        throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Clazz' of class 'net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit'."));
761                    }
762                }
763            }
764    
765            /**
766             * Creates and returns a deep copy of this object.
767             * 
768             * 
769             * @return
770             *     A deep copy of this object.
771             */
772            @Override
773            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
774            public Persistence.PersistenceUnit clone() {
775                // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
776                return new Persistence.PersistenceUnit(this);
777            }
778    
779    
780            /**
781             * <p>Java class for anonymous complex type.
782             * 
783             * <p>The following schema fragment specifies the expected content contained within this class.
784             * 
785             * <pre>
786             * &lt;complexType>
787             *   &lt;complexContent>
788             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
789             *       &lt;sequence>
790             *         &lt;element name="property" maxOccurs="unbounded" minOccurs="0">
791             *           &lt;complexType>
792             *             &lt;complexContent>
793             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
794             *                 &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
795             *                 &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
796             *               &lt;/restriction>
797             *             &lt;/complexContent>
798             *           &lt;/complexType>
799             *         &lt;/element>
800             *       &lt;/sequence>
801             *     &lt;/restriction>
802             *   &lt;/complexContent>
803             * &lt;/complexType>
804             * </pre>
805             * 
806             * 
807             */
808            @XmlAccessorType(XmlAccessType.FIELD)
809            @XmlType(name = "", propOrder = {
810                "property"
811            })
812            @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
813            public static class Properties implements Cloneable
814            {
815    
816                @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
817                protected List<Persistence.PersistenceUnit.Properties.Property> property;
818    
819                /**
820                 * Creates a new {@code Properties} instance.
821                 * 
822                 */
823                public Properties() {
824                    // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
825                    super();
826                }
827    
828                /**
829                 * Creates a new {@code Properties} instance by deeply copying a given {@code Properties} instance.
830                 * 
831                 * 
832                 * @param o
833                 *     The instance to copy.
834                 * @throws NullPointerException
835                 *     if {@code o} is {@code null}.
836                 */
837                public Properties(final Persistence.PersistenceUnit.Properties o) {
838                    // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
839                    super();
840                    if (o == null) {
841                        throw new NullPointerException("Cannot create a copy of 'Properties' from 'null'.");
842                    }
843                    // 'Property' collection.
844                    copyProperty(o.getProperty(), getProperty());
845                }
846    
847                /**
848                 * Gets the value of the property property.
849                 * 
850                 * <p>
851                 * This accessor method returns a reference to the live list,
852                 * not a snapshot. Therefore any modification you make to the
853                 * returned list will be present inside the JAXB object.
854                 * This is why there is not a <CODE>set</CODE> method for the property property.
855                 * 
856                 * <p>
857                 * For example, to add a new item, do as follows:
858                 * <pre>
859                 *    getProperty().add(newItem);
860                 * </pre>
861                 * 
862                 * 
863                 * <p>
864                 * Objects of the following type(s) are allowed in the list
865                 * {@link Persistence.PersistenceUnit.Properties.Property }
866                 * 
867                 * 
868                 */
869                @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
870                public List<Persistence.PersistenceUnit.Properties.Property> getProperty() {
871                    if (property == null) {
872                        property = new ArrayList<Persistence.PersistenceUnit.Properties.Property>();
873                    }
874                    return this.property;
875                }
876    
877                /**
878                 * Copies all values of property {@code Property} deeply.
879                 * 
880                 * @param target
881                 *     The target to copy {@code source} to.
882                 * @param source
883                 *     The source to copy from.
884                 * @throws NullPointerException
885                 *     if {@code source} or {@code target} is {@code null}.
886                 */
887                @SuppressWarnings("unchecked")
888                @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
889                private static void copyProperty(final List<Persistence.PersistenceUnit.Properties.Property> source, final List<Persistence.PersistenceUnit.Properties.Property> target) {
890                    // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
891                    if (!source.isEmpty()) {
892                        for (Iterator it = source.iterator(); it.hasNext(); ) {
893                            final Object next = it.next();
894                            if (next instanceof Persistence.PersistenceUnit.Properties.Property) {
895                                // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit$Properties$Property
896                                target.add(((Persistence.PersistenceUnit.Properties.Property) next).clone());
897                                continue;
898                            }
899                            // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
900                            throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Property' of class 'net.sourceforge.jpaxjc.ns.persistence.Persistence$PersistenceUnit$Properties'."));
901                        }
902                    }
903                }
904    
905                /**
906                 * Creates and returns a deep copy of this object.
907                 * 
908                 * 
909                 * @return
910                 *     A deep copy of this object.
911                 */
912                @Override
913                @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
914                public Persistence.PersistenceUnit.Properties clone() {
915                    // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
916                    return new Persistence.PersistenceUnit.Properties(this);
917                }
918    
919    
920                /**
921                 * <p>Java class for anonymous complex type.
922                 * 
923                 * <p>The following schema fragment specifies the expected content contained within this class.
924                 * 
925                 * <pre>
926                 * &lt;complexType>
927                 *   &lt;complexContent>
928                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
929                 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
930                 *       &lt;attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
931                 *     &lt;/restriction>
932                 *   &lt;/complexContent>
933                 * &lt;/complexType>
934                 * </pre>
935                 * 
936                 * 
937                 */
938                @XmlAccessorType(XmlAccessType.FIELD)
939                @XmlType(name = "")
940                @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
941                public static class Property implements Cloneable
942                {
943    
944                    @XmlAttribute(required = true)
945                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
946                    protected String name;
947                    @XmlAttribute(required = true)
948                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
949                    protected String value;
950    
951                    /**
952                     * Creates a new {@code Property} instance.
953                     * 
954                     */
955                    public Property() {
956                        // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
957                        super();
958                    }
959    
960                    /**
961                     * Creates a new {@code Property} instance by deeply copying a given {@code Property} instance.
962                     * 
963                     * 
964                     * @param o
965                     *     The instance to copy.
966                     * @throws NullPointerException
967                     *     if {@code o} is {@code null}.
968                     */
969                    public Property(final Persistence.PersistenceUnit.Properties.Property o) {
970                        // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
971                        super();
972                        if (o == null) {
973                            throw new NullPointerException("Cannot create a copy of 'Property' from 'null'.");
974                        }
975                        // CBuiltinLeafInfo: java.lang.String
976                        this.name = o.getName();
977                        // CBuiltinLeafInfo: java.lang.String
978                        this.value = o.getValue();
979                    }
980    
981                    /**
982                     * Gets the value of the name property.
983                     * 
984                     * @return
985                     *     possible object is
986                     *     {@link String }
987                     *     
988                     */
989                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
990                    public String getName() {
991                        return name;
992                    }
993    
994                    /**
995                     * Sets the value of the name property.
996                     * 
997                     * @param value
998                     *     allowed object is
999                     *     {@link String }
1000                     *     
1001                     */
1002                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1003                    public void setName(String value) {
1004                        this.name = value;
1005                    }
1006    
1007                    /**
1008                     * Gets the value of the value property.
1009                     * 
1010                     * @return
1011                     *     possible object is
1012                     *     {@link String }
1013                     *     
1014                     */
1015                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1016                    public String getValue() {
1017                        return value;
1018                    }
1019    
1020                    /**
1021                     * Sets the value of the value property.
1022                     * 
1023                     * @param value
1024                     *     allowed object is
1025                     *     {@link String }
1026                     *     
1027                     */
1028                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1029                    public void setValue(String value) {
1030                        this.value = value;
1031                    }
1032    
1033                    /**
1034                     * Creates and returns a deep copy of this object.
1035                     * 
1036                     * 
1037                     * @return
1038                     *     A deep copy of this object.
1039                     */
1040                    @Override
1041                    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1042                    public Persistence.PersistenceUnit.Properties.Property clone() {
1043                        // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
1044                        return new Persistence.PersistenceUnit.Properties.Property(this);
1045                    }
1046    
1047                }
1048    
1049            }
1050    
1051        }
1052    
1053    }