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