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: 2016.11.01 at 03:16:38 AM CET 
006//
007
008
009package org.jomc.model;
010
011import javax.annotation.Generated;
012import javax.xml.bind.annotation.XmlAccessType;
013import javax.xml.bind.annotation.XmlAccessorType;
014import javax.xml.bind.annotation.XmlAttribute;
015import javax.xml.bind.annotation.XmlType;
016import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
017import 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 = "2016-11-01T03:16:37+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
045public 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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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.1 Build 2012-03-02T12:09:12+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.1 Build 2012-03-02T12:09:12+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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01: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 = "2016-11-01T03:16:37+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
220    public ImplementationReference clone() {
221        {
222            // CC-XJC Version 2.0.1 Build 2012-03-02T12:09:12+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}