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.14 at 10:22:27 AM CET 
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 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 = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
044    public 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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 Build 2011-09-16T18:27:24+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 Build 2011-09-16T18:27:24+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+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 = "2012-03-14T10:22:27+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
187        public PropertyReference clone() {
188            {
189                // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+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    }