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    
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")
045    @XmlSeeAlso({
046        Dependency.class
047    })
048    @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
049    public class SpecificationReference
050        extends ModelObject
051        implements Cloneable
052    {
053    
054        @XmlAttribute(required = true)
055        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
056        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
057        protected String identifier;
058        @XmlAttribute
059        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
060        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
061        protected String version;
062        @XmlAttribute(name = "final")
063        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
064        protected Boolean _final;
065        @XmlAttribute
066        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
067        protected Boolean override;
068    
069        /**
070         * Creates a new {@code SpecificationReference} instance.
071         * 
072         */
073        public SpecificationReference() {
074            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+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 1.2 Build 2009-11-15T21:50:02+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.getIdentifier();
095            // CBuiltinLeafInfo: java.lang.String
096            this.version = o.getVersion();
097            // CBuiltinLeafInfo: java.lang.Boolean
098            this._final = o.isFinal();
099            // CBuiltinLeafInfo: java.lang.Boolean
100            this.override = 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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
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 = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
224        public SpecificationReference clone() {
225            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
226            return new SpecificationReference(this);
227        }
228    
229    }