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.XmlType;
016    
017    
018    /**
019     * 
020     * 
021     *         Defines the settings and mappings for embeddable objects. Is
022     *         allowed to be sparsely populated and used in conjunction with
023     *         the annotations. Alternatively, the metadata-complete attribute
024     *         can be used to indicate that no annotations are to be processed
025     *         in the class. If this is the case then the defaulting rules will
026     *         be recursively applied.
027     * 
028     *         @Target({TYPE}) @Retention(RUNTIME)
029     *         public @interface Embeddable {}
030     * 
031     *       
032     * 
033     * <p>Java class for embeddable complex type.
034     * 
035     * <p>The following schema fragment specifies the expected content contained within this class.
036     * 
037     * <pre>
038     * &lt;complexType name="embeddable">
039     *   &lt;complexContent>
040     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
041     *       &lt;sequence>
042     *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
043     *         &lt;element name="attributes" type="{http://java.sun.com/xml/ns/persistence/orm}embeddable-attributes" minOccurs="0"/>
044     *       &lt;/sequence>
045     *       &lt;attribute name="class" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
046     *       &lt;attribute name="access" type="{http://java.sun.com/xml/ns/persistence/orm}access-type" />
047     *       &lt;attribute name="metadata-complete" type="{http://www.w3.org/2001/XMLSchema}boolean" />
048     *     &lt;/restriction>
049     *   &lt;/complexContent>
050     * &lt;/complexType>
051     * </pre>
052     * 
053     * 
054     */
055    @XmlAccessorType(XmlAccessType.FIELD)
056    @XmlType(name = "embeddable", propOrder = {
057        "description",
058        "attributes"
059    })
060    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
061    public class Embeddable implements Cloneable
062    {
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        protected String description;
066        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
067        protected EmbeddableAttributes attributes;
068        @XmlAttribute(name = "class", required = true)
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 clazz;
071        @XmlAttribute
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 AccessType access;
074        @XmlAttribute(name = "metadata-complete")
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 Boolean metadataComplete;
077    
078        /**
079         * Creates a new {@code Embeddable} instance.
080         * 
081         */
082        public Embeddable() {
083            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
084            super();
085        }
086    
087        /**
088         * Creates a new {@code Embeddable} instance by deeply copying a given {@code Embeddable} instance.
089         * 
090         * 
091         * @param o
092         *     The instance to copy.
093         * @throws NullPointerException
094         *     if {@code o} is {@code null}.
095         */
096        public Embeddable(final Embeddable o) {
097            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
098            super();
099            if (o == null) {
100                throw new NullPointerException("Cannot create a copy of 'Embeddable' from 'null'.");
101            }
102            // CBuiltinLeafInfo: java.lang.String
103            this.description = o.getDescription();
104            // CClassInfo: net.sourceforge.jpaxjc.ns.persistence.orm.EmbeddableAttributes
105            this.attributes = ((o.getAttributes() == null)?null:o.getAttributes().clone());
106            // CBuiltinLeafInfo: java.lang.String
107            this.clazz = o.getClazz();
108            // CEnumLeafInfo: net.sourceforge.jpaxjc.ns.persistence.orm.AccessType
109            this.access = o.getAccess();
110            // CBuiltinLeafInfo: java.lang.Boolean
111            this.metadataComplete = o.isMetadataComplete();
112        }
113    
114        /**
115         * Gets the value of the description property.
116         * 
117         * @return
118         *     possible object is
119         *     {@link String }
120         *     
121         */
122        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
123        public String getDescription() {
124            return description;
125        }
126    
127        /**
128         * Sets the value of the description property.
129         * 
130         * @param value
131         *     allowed object is
132         *     {@link String }
133         *     
134         */
135        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
136        public void setDescription(String value) {
137            this.description = value;
138        }
139    
140        /**
141         * Gets the value of the attributes property.
142         * 
143         * @return
144         *     possible object is
145         *     {@link EmbeddableAttributes }
146         *     
147         */
148        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
149        public EmbeddableAttributes getAttributes() {
150            return attributes;
151        }
152    
153        /**
154         * Sets the value of the attributes property.
155         * 
156         * @param value
157         *     allowed object is
158         *     {@link EmbeddableAttributes }
159         *     
160         */
161        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
162        public void setAttributes(EmbeddableAttributes value) {
163            this.attributes = value;
164        }
165    
166        /**
167         * Gets the value of the clazz property.
168         * 
169         * @return
170         *     possible object is
171         *     {@link String }
172         *     
173         */
174        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
175        public String getClazz() {
176            return clazz;
177        }
178    
179        /**
180         * Sets the value of the clazz property.
181         * 
182         * @param value
183         *     allowed object is
184         *     {@link String }
185         *     
186         */
187        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
188        public void setClazz(String value) {
189            this.clazz = value;
190        }
191    
192        /**
193         * Gets the value of the access property.
194         * 
195         * @return
196         *     possible object is
197         *     {@link AccessType }
198         *     
199         */
200        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
201        public AccessType getAccess() {
202            return access;
203        }
204    
205        /**
206         * Sets the value of the access property.
207         * 
208         * @param value
209         *     allowed object is
210         *     {@link AccessType }
211         *     
212         */
213        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
214        public void setAccess(AccessType value) {
215            this.access = value;
216        }
217    
218        /**
219         * Gets the value of the metadataComplete property.
220         * 
221         * @return
222         *     possible object is
223         *     {@link Boolean }
224         *     
225         */
226        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
227        public Boolean isMetadataComplete() {
228            return metadataComplete;
229        }
230    
231        /**
232         * Sets the value of the metadataComplete property.
233         * 
234         * @param value
235         *     allowed object is
236         *     {@link Boolean }
237         *     
238         */
239        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
240        public void setMetadataComplete(Boolean value) {
241            this.metadataComplete = value;
242        }
243    
244        /**
245         * Creates and returns a deep copy of this object.
246         * 
247         * 
248         * @return
249         *     A deep copy of this object.
250         */
251        @Override
252        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-08-18T10:46:56+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
253        public Embeddable clone() {
254            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
255            return new Embeddable(this);
256        }
257    
258    }