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 javax.annotation.Generated;
012    import javax.xml.bind.annotation.XmlAccessType;
013    import javax.xml.bind.annotation.XmlAccessorType;
014    import javax.xml.bind.annotation.XmlAttribute;
015    import javax.xml.bind.annotation.XmlElement;
016    import javax.xml.bind.annotation.XmlType;
017    
018    
019    /**
020     * 
021     * 
022     *         @Target({METHOD, FIELD}) @Retention(RUNTIME)
023     *         public @interface ManyToMany {
024     *           Class targetEntity() default void.class;
025     *           CascadeType[] cascade() default {};
026     *           FetchType fetch() default LAZY;
027     *           String mappedBy() default "";
028     *         }
029     * 
030     *       
031     * 
032     * <p>Java class for many-to-many complex type.
033     * 
034     * <p>The following schema fragment specifies the expected content contained within this class.
035     * 
036     * <pre>
037     * &lt;complexType name="many-to-many">
038     *   &lt;complexContent>
039     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
040     *       &lt;sequence>
041     *         &lt;element name="order-by" type="{http://java.sun.com/xml/ns/persistence/orm}order-by" minOccurs="0"/>
042     *         &lt;element name="map-key" type="{http://java.sun.com/xml/ns/persistence/orm}map-key" minOccurs="0"/>
043     *         &lt;element name="join-table" type="{http://java.sun.com/xml/ns/persistence/orm}join-table" minOccurs="0"/>
044     *         &lt;element name="cascade" type="{http://java.sun.com/xml/ns/persistence/orm}cascade-type" minOccurs="0"/>
045     *       &lt;/sequence>
046     *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
047     *       &lt;attribute name="target-entity" type="{http://www.w3.org/2001/XMLSchema}string" />
048     *       &lt;attribute name="fetch" type="{http://java.sun.com/xml/ns/persistence/orm}fetch-type" />
049     *       &lt;attribute name="mapped-by" type="{http://www.w3.org/2001/XMLSchema}string" />
050     *     &lt;/restriction>
051     *   &lt;/complexContent>
052     * &lt;/complexType>
053     * </pre>
054     * 
055     * 
056     */
057    @XmlAccessorType(XmlAccessType.FIELD)
058    @XmlType(name = "many-to-many", propOrder = {
059        "orderBy",
060        "mapKey",
061        "joinTable",
062        "cascade"
063    })
064    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
065    public class ManyToMany implements Cloneable
066    {
067    
068        @XmlElement(name = "order-by")
069        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
070        protected String orderBy;
071        @XmlElement(name = "map-key")
072        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
073        protected MapKey mapKey;
074        @XmlElement(name = "join-table")
075        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
076        protected JoinTable joinTable;
077        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
078        protected CascadeType cascade;
079        @XmlAttribute(required = true)
080        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
081        protected String name;
082        @XmlAttribute(name = "target-entity")
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 String targetEntity;
085        @XmlAttribute
086        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
087        protected FetchType fetch;
088        @XmlAttribute(name = "mapped-by")
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        protected String mappedBy;
091    
092        /**
093         * Creates a new {@code ManyToMany} instance.
094         * 
095         */
096        public ManyToMany() {
097            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
098            super();
099        }
100    
101        /**
102         * Creates a new {@code ManyToMany} instance by deeply copying a given {@code ManyToMany} instance.
103         * 
104         * 
105         * @param o
106         *     The instance to copy.
107         * @throws NullPointerException
108         *     if {@code o} is {@code null}.
109         */
110        public ManyToMany(final ManyToMany o) {
111            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
112            super();
113            if (o == null) {
114                throw new NullPointerException("Cannot create a copy of 'ManyToMany' from 'null'.");
115            }
116            // CBuiltinLeafInfo: java.lang.String
117            this.orderBy = o.getOrderBy();
118            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.MapKey
119            this.mapKey = ((o.getMapKey() == null)?null:o.getMapKey().clone());
120            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.JoinTable
121            this.joinTable = ((o.getJoinTable() == null)?null:o.getJoinTable().clone());
122            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.CascadeType
123            this.cascade = ((o.getCascade() == null)?null:o.getCascade().clone());
124            // CBuiltinLeafInfo: java.lang.String
125            this.name = o.getName();
126            // CBuiltinLeafInfo: java.lang.String
127            this.targetEntity = o.getTargetEntity();
128            // CEnumLeafInfo: net.sourceforge.jpaxjc.ns.persistence.orm.FetchType
129            this.fetch = o.getFetch();
130            // CBuiltinLeafInfo: java.lang.String
131            this.mappedBy = o.getMappedBy();
132        }
133    
134        /**
135         * Gets the value of the orderBy property.
136         * 
137         * @return
138         *     possible object is
139         *     {@link String }
140         *     
141         */
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        public String getOrderBy() {
144            return orderBy;
145        }
146    
147        /**
148         * Sets the value of the orderBy property.
149         * 
150         * @param value
151         *     allowed object is
152         *     {@link String }
153         *     
154         */
155        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
156        public void setOrderBy(String value) {
157            this.orderBy = value;
158        }
159    
160        /**
161         * Gets the value of the mapKey property.
162         * 
163         * @return
164         *     possible object is
165         *     {@link MapKey }
166         *     
167         */
168        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
169        public MapKey getMapKey() {
170            return mapKey;
171        }
172    
173        /**
174         * Sets the value of the mapKey property.
175         * 
176         * @param value
177         *     allowed object is
178         *     {@link MapKey }
179         *     
180         */
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        public void setMapKey(MapKey value) {
183            this.mapKey = value;
184        }
185    
186        /**
187         * Gets the value of the joinTable property.
188         * 
189         * @return
190         *     possible object is
191         *     {@link JoinTable }
192         *     
193         */
194        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
195        public JoinTable getJoinTable() {
196            return joinTable;
197        }
198    
199        /**
200         * Sets the value of the joinTable property.
201         * 
202         * @param value
203         *     allowed object is
204         *     {@link JoinTable }
205         *     
206         */
207        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
208        public void setJoinTable(JoinTable value) {
209            this.joinTable = value;
210        }
211    
212        /**
213         * Gets the value of the cascade property.
214         * 
215         * @return
216         *     possible object is
217         *     {@link CascadeType }
218         *     
219         */
220        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
221        public CascadeType getCascade() {
222            return cascade;
223        }
224    
225        /**
226         * Sets the value of the cascade property.
227         * 
228         * @param value
229         *     allowed object is
230         *     {@link CascadeType }
231         *     
232         */
233        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
234        public void setCascade(CascadeType value) {
235            this.cascade = value;
236        }
237    
238        /**
239         * Gets the value of the name property.
240         * 
241         * @return
242         *     possible object is
243         *     {@link String }
244         *     
245         */
246        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
247        public String getName() {
248            return name;
249        }
250    
251        /**
252         * Sets the value of the name property.
253         * 
254         * @param value
255         *     allowed object is
256         *     {@link String }
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 void setName(String value) {
261            this.name = value;
262        }
263    
264        /**
265         * Gets the value of the targetEntity property.
266         * 
267         * @return
268         *     possible object is
269         *     {@link String }
270         *     
271         */
272        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
273        public String getTargetEntity() {
274            return targetEntity;
275        }
276    
277        /**
278         * Sets the value of the targetEntity property.
279         * 
280         * @param value
281         *     allowed object is
282         *     {@link String }
283         *     
284         */
285        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
286        public void setTargetEntity(String value) {
287            this.targetEntity = value;
288        }
289    
290        /**
291         * Gets the value of the fetch property.
292         * 
293         * @return
294         *     possible object is
295         *     {@link FetchType }
296         *     
297         */
298        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
299        public FetchType getFetch() {
300            return fetch;
301        }
302    
303        /**
304         * Sets the value of the fetch property.
305         * 
306         * @param value
307         *     allowed object is
308         *     {@link FetchType }
309         *     
310         */
311        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
312        public void setFetch(FetchType value) {
313            this.fetch = value;
314        }
315    
316        /**
317         * Gets the value of the mappedBy property.
318         * 
319         * @return
320         *     possible object is
321         *     {@link String }
322         *     
323         */
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        public String getMappedBy() {
326            return mappedBy;
327        }
328    
329        /**
330         * Sets the value of the mappedBy property.
331         * 
332         * @param value
333         *     allowed object is
334         *     {@link String }
335         *     
336         */
337        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
338        public void setMappedBy(String value) {
339            this.mappedBy = value;
340        }
341    
342        /**
343         * Creates and returns a deep copy of this object.
344         * 
345         * 
346         * @return
347         *     A deep copy of this object.
348         */
349        @Override
350        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
351        public ManyToMany clone() {
352            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
353            return new ManyToMany(this);
354        }
355    
356    }