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