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: 2009.12.07 at 03:06:36 AM UTC 
006    //
007    
008    
009    package org.jomc.model;
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.XmlSeeAlso;
016    import javax.xml.bind.annotation.XmlType;
017    import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
018    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
019    import javax.xml.datatype.XMLGregorianCalendar;
020    
021    
022    /**
023     * Base model object.
024     * 
025     * <p>Java class for ModelObject complex type.
026     * 
027     * <p>The following schema fragment specifies the expected content contained within this class.
028     * 
029     * <pre>
030     * &lt;complexType name="ModelObject">
031     *   &lt;complexContent>
032     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
033     *       &lt;sequence>
034     *         &lt;element ref="{http://jomc.org/model}documentation" minOccurs="0"/>
035     *         &lt;element ref="{http://jomc.org/model}authors" minOccurs="0"/>
036     *       &lt;/sequence>
037     *       &lt;attribute name="modelVersion" type="{http://jomc.org/model}Version" default="1.0" />
038     *       &lt;attribute name="createDate" type="{http://jomc.org/model}DateTime" />
039     *       &lt;attribute name="deprecated" type="{http://jomc.org/model}Flag" default="false" />
040     *     &lt;/restriction>
041     *   &lt;/complexContent>
042     * &lt;/complexType>
043     * </pre>
044     * 
045     * 
046     */
047    @XmlAccessorType(XmlAccessType.FIELD)
048    @XmlType(name = "ModelObject", propOrder = {
049        "documentation",
050        "authors"
051    })
052    @XmlSeeAlso({
053        Arguments.class,
054        Argument.class,
055        Dependencies.class,
056        Message.class,
057        Property.class,
058        Authors.class,
059        Modules.class,
060        Implementation.class,
061        Properties.class,
062        Specification.class,
063        Instance.class,
064        Instances.class,
065        Implementations.class,
066        Persons.class,
067        Specifications.class,
068        Person.class,
069        Module.class,
070        Messages.class,
071        ImplementationReference.class,
072        MessageReference.class,
073        PropertyReference.class,
074        SpecificationReference.class
075    })
076    @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
077    public class ModelObject implements Cloneable
078    {
079    
080        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
081        protected Texts documentation;
082        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
083        protected Authors authors;
084        @XmlAttribute
085        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
086        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
087        protected String modelVersion;
088        @XmlAttribute
089        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
090        protected XMLGregorianCalendar createDate;
091        @XmlAttribute
092        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
093        protected Boolean deprecated;
094    
095        /**
096         * Creates a new {@code ModelObject} instance.
097         * 
098         */
099        public ModelObject() {
100            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
101            super();
102        }
103    
104        /**
105         * Creates a new {@code ModelObject} instance by deeply copying a given {@code ModelObject} instance.
106         * 
107         * 
108         * @param o
109         *     The instance to copy.
110         * @throws NullPointerException
111         *     if {@code o} is {@code null}.
112         */
113        public ModelObject(final ModelObject o) {
114            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
115            super();
116            if (o == null) {
117                throw new NullPointerException("Cannot create a copy of 'ModelObject' from 'null'.");
118            }
119            // CClassInfo: org.jomc.model.Texts
120            this.documentation = ((o.getDocumentation() == null)?null:o.getDocumentation().clone());
121            // CClassInfo: org.jomc.model.Authors
122            this.authors = ((o.getAuthors() == null)?null:o.getAuthors().clone());
123            // CBuiltinLeafInfo: java.lang.String
124            this.modelVersion = o.getModelVersion();
125            // CBuiltinLeafInfo: javax.xml.datatype.XMLGregorianCalendar
126            this.createDate = ((o.getCreateDate() == null)?null:((XMLGregorianCalendar) o.getCreateDate().clone()));
127            // CBuiltinLeafInfo: java.lang.Boolean
128            this.deprecated = o.isDeprecated();
129        }
130    
131        /**
132         * Documentation of this object or {@code null}.
133         * 
134         * @return
135         *     possible object is
136         *     {@link Texts }
137         *     
138         */
139        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
140        public Texts getDocumentation() {
141            return documentation;
142        }
143    
144        /**
145         * Sets the value of the documentation property.
146         * 
147         * @param value
148         *     allowed object is
149         *     {@link Texts }
150         *     
151         */
152        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
153        public void setDocumentation(Texts value) {
154            this.documentation = value;
155        }
156    
157        /**
158         * Authors of this object or {@code null}.
159         * 
160         * @return
161         *     possible object is
162         *     {@link Authors }
163         *     
164         */
165        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
166        public Authors getAuthors() {
167            return authors;
168        }
169    
170        /**
171         * Sets the value of the authors property.
172         * 
173         * @param value
174         *     allowed object is
175         *     {@link Authors }
176         *     
177         */
178        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
179        public void setAuthors(Authors value) {
180            this.authors = value;
181        }
182    
183        /**
184         * Model version of this object.
185         * 
186         * @return
187         *     possible object is
188         *     {@link String }
189         *     
190         */
191        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
192        public String getModelVersion() {
193            if (modelVersion == null) {
194                return "1.0";
195            } else {
196                return modelVersion;
197            }
198        }
199    
200        /**
201         * Sets the value of the modelVersion property.
202         * 
203         * @param value
204         *     allowed object is
205         *     {@link String }
206         *     
207         */
208        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
209        public void setModelVersion(String value) {
210            this.modelVersion = value;
211        }
212    
213        /**
214         * The date this object got created or {@code null}.
215         * 
216         * @return
217         *     possible object is
218         *     {@link XMLGregorianCalendar }
219         *     
220         */
221        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
222        public XMLGregorianCalendar getCreateDate() {
223            return createDate;
224        }
225    
226        /**
227         * Sets the value of the createDate property.
228         * 
229         * @param value
230         *     allowed object is
231         *     {@link XMLGregorianCalendar }
232         *     
233         */
234        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
235        public void setCreateDate(XMLGregorianCalendar value) {
236            this.createDate = value;
237        }
238    
239        /**
240         * {@code true} if this object is deprecated.
241         * 
242         * @return
243         *     possible object is
244         *     {@link Boolean }
245         *     
246         */
247        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
248        public boolean isDeprecated() {
249            if (deprecated == null) {
250                return false;
251            } else {
252                return deprecated;
253            }
254        }
255    
256        /**
257         * Sets the value of the deprecated property.
258         * 
259         * @param value
260         *     allowed object is
261         *     {@link Boolean }
262         *     
263         */
264        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
265        public void setDeprecated(Boolean value) {
266            this.deprecated = value;
267        }
268    
269        /**
270         * Creates and returns a deep copy of this object.
271         * 
272         * 
273         * @return
274         *     A deep copy of this object.
275         */
276        @Override
277        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
278        public ModelObject clone() {
279            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
280            return new ModelObject(this);
281        }
282    
283    }