001    //
002    // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2 
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: 2012.03.14 at 10:22:27 AM CET 
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    
020    
021    /**
022     * Reference to a specification.
023     * 
024     * <p>Java class for SpecificationReference complex type.
025     * 
026     * <p>The following schema fragment specifies the expected content contained within this class.
027     * 
028     * <pre>
029     * &lt;complexType name="SpecificationReference">
030     *   &lt;complexContent>
031     *     &lt;extension base="{http://jomc.org/model}ModelObject">
032     *       &lt;attribute name="identifier" use="required" type="{http://jomc.org/model}Identifier" />
033     *       &lt;attribute name="version" type="{http://jomc.org/model}Version" />
034     *       &lt;attribute name="final" type="{http://jomc.org/model}Flag" default="false" />
035     *       &lt;attribute name="override" type="{http://jomc.org/model}Flag" default="false" />
036     *     &lt;/extension>
037     *   &lt;/complexContent>
038     * &lt;/complexType>
039     * </pre>
040     * 
041     * 
042     */
043    @XmlAccessorType(XmlAccessType.FIELD)
044    @XmlType(name = "SpecificationReference", namespace = "http://jomc.org/model")
045    @XmlSeeAlso({
046        Dependency.class
047    })
048    @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
049    public class SpecificationReference
050        extends ModelObject
051        implements Cloneable, Inheritable
052    {
053    
054        @XmlAttribute(name = "identifier", required = true)
055        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
056        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
057        protected String identifier;
058        @XmlAttribute(name = "version")
059        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
060        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
061        protected String version;
062        @XmlAttribute(name = "final")
063        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
064        protected Boolean _final;
065        @XmlAttribute(name = "override")
066        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
067        protected Boolean override;
068    
069        /**
070         * Creates a new {@code SpecificationReference} instance.
071         * 
072         */
073        public SpecificationReference() {
074            // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
075            super();
076        }
077    
078        /**
079         * Creates a new {@code SpecificationReference} instance by deeply copying a given {@code SpecificationReference} instance.
080         * 
081         * 
082         * @param o
083         *     The instance to copy.
084         * @throws NullPointerException
085         *     if {@code o} is {@code null}.
086         */
087        public SpecificationReference(final SpecificationReference o) {
088            // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
089            super(o);
090            if (o == null) {
091                throw new NullPointerException("Cannot create a copy of 'SpecificationReference' from 'null'.");
092            }
093            // CBuiltinLeafInfo: java.lang.String
094            this.identifier = ((o.identifier == null)?null:o.getIdentifier());
095            // CBuiltinLeafInfo: java.lang.String
096            this.version = ((o.version == null)?null:o.getVersion());
097            // CBuiltinLeafInfo: java.lang.Boolean
098            this._final = ((o._final == null)?null:o.isFinal());
099            // CBuiltinLeafInfo: java.lang.Boolean
100            this.override = ((o.override == null)?null:o.isOverride());
101        }
102    
103        /**
104         * The identifier of the referenced specification.
105         * 
106         * @return
107         *     possible object is
108         *     {@link String }
109         *     
110         */
111        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
112        public String getIdentifier() {
113            return identifier;
114        }
115    
116        /**
117         * Sets the value of the identifier property.
118         * 
119         * @param value
120         *     allowed object is
121         *     {@link String }
122         *     
123         */
124        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
125        public void setIdentifier(String value) {
126            this.identifier = value;
127        }
128    
129        /**
130         * The version of the referenced specification or {@code null}.
131         * 
132         * @return
133         *     possible object is
134         *     {@link String }
135         *     
136         */
137        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
138        public String getVersion() {
139            return version;
140        }
141    
142        /**
143         * Sets the value of the version property.
144         * 
145         * @param value
146         *     allowed object is
147         *     {@link String }
148         *     
149         */
150        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
151        public void setVersion(String value) {
152            this.version = value;
153        }
154    
155        /**
156         * {@code true}, if this specification reference is the final node in an inheritance hierarchy.
157         * 
158         * @return
159         *     possible object is
160         *     {@link Boolean }
161         *     
162         */
163        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
164        public boolean isFinal() {
165            if (_final == null) {
166                return false;
167            } else {
168                return _final;
169            }
170        }
171    
172        /**
173         * Sets the value of the final property.
174         * 
175         * @param value
176         *     allowed object is
177         *     {@link Boolean }
178         *     
179         */
180        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
181        public void setFinal(Boolean value) {
182            this._final = value;
183        }
184    
185        /**
186         * {@code true}, if this specification reference is intended to override a super specification reference.
187         * 
188         * @return
189         *     possible object is
190         *     {@link Boolean }
191         *     
192         */
193        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
194        public boolean isOverride() {
195            if (override == null) {
196                return false;
197            } else {
198                return override;
199            }
200        }
201    
202        /**
203         * Sets the value of the override property.
204         * 
205         * @param value
206         *     allowed object is
207         *     {@link Boolean }
208         *     
209         */
210        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
211        public void setOverride(Boolean value) {
212            this.override = value;
213        }
214    
215        /**
216         * Creates and returns a deep copy of this object.
217         * 
218         * 
219         * @return
220         *     A deep copy of this object.
221         */
222        @Override
223        @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
224        public SpecificationReference clone() {
225            {
226                // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
227                final SpecificationReference clone = ((SpecificationReference) super.clone());
228                // CBuiltinLeafInfo: java.lang.String
229                clone.identifier = ((this.identifier == null)?null:this.getIdentifier());
230                // CBuiltinLeafInfo: java.lang.String
231                clone.version = ((this.version == null)?null:this.getVersion());
232                // CBuiltinLeafInfo: java.lang.Boolean
233                clone._final = ((this._final == null)?null:this.isFinal());
234                // CBuiltinLeafInfo: java.lang.Boolean
235                clone.override = ((this.override == null)?null:this.isOverride());
236                return clone;
237            }
238        }
239    
240    }