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