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.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     * @see Specification
024     * 
025     * 
026     * 
027     */
028    @XmlAccessorType(XmlAccessType.FIELD)
029    @XmlType(name = "SpecificationReference")
030    @XmlSeeAlso({
031        Dependency.class
032    })
033    @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
034    public class SpecificationReference
035        extends ModelObject
036        implements Cloneable
037    {
038    
039        @XmlAttribute(required = true)
040        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
041        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
042        protected String identifier;
043        @XmlAttribute
044        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
045        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
046        protected String version;
047        @XmlAttribute(name = "final")
048        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
049        protected Boolean _final;
050        @XmlAttribute
051        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
052        protected Boolean override;
053    
054        /**
055         * Creates a new {@code SpecificationReference} instance.
056         * 
057         */
058        public SpecificationReference() {
059            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
060            super();
061        }
062    
063        /**
064         * Creates a new {@code SpecificationReference} instance by deeply copying a given {@code SpecificationReference} instance.
065         * 
066         * 
067         * @param o
068         *     The instance to copy.
069         * @throws NullPointerException
070         *     if {@code o} is {@code null}.
071         */
072        public SpecificationReference(final SpecificationReference o) {
073            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
074            super(o);
075            if (o == null) {
076                throw new NullPointerException("Cannot create a copy of 'SpecificationReference' from 'null'.");
077            }
078            // CBuiltinLeafInfo: java.lang.String
079            this.identifier = o.getIdentifier();
080            // CBuiltinLeafInfo: java.lang.String
081            this.version = o.getVersion();
082            // CBuiltinLeafInfo: java.lang.Boolean
083            this._final = o.isFinal();
084            // CBuiltinLeafInfo: java.lang.Boolean
085            this.override = o.isOverride();
086        }
087    
088        /**
089         * The identifier of the referenced specification.
090         * 
091         * @return
092         *     possible object is
093         *     {@link String }
094         *     
095         */
096        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
097        public String getIdentifier() {
098            return identifier;
099        }
100    
101        /**
102         * Sets the value of the identifier property.
103         * 
104         * @param value
105         *     allowed object is
106         *     {@link String }
107         *     
108         */
109        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
110        public void setIdentifier(String value) {
111            this.identifier = value;
112        }
113    
114        /**
115         * The version of the referenced specification or {@code null}.
116         * 
117         * @return
118         *     possible object is
119         *     {@link String }
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 String getVersion() {
124            return version;
125        }
126    
127        /**
128         * Sets the value of the version property.
129         * 
130         * @param value
131         *     allowed object is
132         *     {@link String }
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 setVersion(String value) {
137            this.version = value;
138        }
139    
140        /**
141         * Flags this specification reference final.
142         * 
143         * @return
144         *     possible object is
145         *     {@link Boolean }
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 boolean isFinal() {
150            if (_final == null) {
151                return false;
152            } else {
153                return _final;
154            }
155        }
156    
157        /**
158         * Sets the value of the final property.
159         * 
160         * @param value
161         *     allowed object is
162         *     {@link Boolean }
163         *     
164         */
165        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
166        public void setFinal(Boolean value) {
167            this._final = value;
168        }
169    
170        /**
171         * True, if this specification reference is intended to override a super specification reference.
172         * 
173         * @return
174         *     possible object is
175         *     {@link Boolean }
176         *     
177         */
178        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
179        public boolean isOverride() {
180            if (override == null) {
181                return false;
182            } else {
183                return override;
184            }
185        }
186    
187        /**
188         * Sets the value of the override property.
189         * 
190         * @param value
191         *     allowed object is
192         *     {@link Boolean }
193         *     
194         */
195        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
196        public void setOverride(Boolean value) {
197            this.override = value;
198        }
199    
200        /**
201         * Creates and returns a deep copy of this object.
202         * 
203         * 
204         * @return
205         *     A deep copy of this object.
206         */
207        @Override
208        @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-11-18T06:28:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
209        public SpecificationReference clone() {
210            // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
211            return new SpecificationReference(this);
212        }
213    
214    }