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