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: 2010.06.29 at 01:09:34 AM CEST 
006    //
007    
008    
009    package org.jomc.tools.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.XmlElement;
016    import javax.xml.bind.annotation.XmlType;
017    
018    
019    /**
020     * <p>Java class for SourceSectionType complex type.
021     * 
022     * <p>The following schema fragment specifies the expected content contained within this class.
023     * 
024     * <pre>
025     * &lt;complexType name="SourceSectionType">
026     *   &lt;complexContent>
027     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
028     *       &lt;sequence>
029     *         &lt;element ref="{http://jomc.org/tools/model}source-sections" minOccurs="0"/>
030     *       &lt;/sequence>
031     *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
032     *       &lt;attribute name="head-template" type="{http://www.w3.org/2001/XMLSchema}string" />
033     *       &lt;attribute name="tail-template" type="{http://www.w3.org/2001/XMLSchema}string" />
034     *       &lt;attribute name="indentationLevel" type="{http://www.w3.org/2001/XMLSchema}int" default="0" />
035     *       &lt;attribute name="optional" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
036     *       &lt;attribute name="editable" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
037     *     &lt;/restriction>
038     *   &lt;/complexContent>
039     * &lt;/complexType>
040     * </pre>
041     * 
042     * 
043     */
044    @XmlAccessorType(XmlAccessType.FIELD)
045    @XmlType(name = "SourceSectionType", propOrder = {
046        "sourceSections"
047    })
048    @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
049    public class SourceSectionType implements Cloneable
050    {
051    
052        @XmlElement(name = "source-sections")
053        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
054        protected SourceSectionsType sourceSections;
055        @XmlAttribute(required = true)
056        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
057        protected String name;
058        @XmlAttribute(name = "head-template")
059        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
060        protected String headTemplate;
061        @XmlAttribute(name = "tail-template")
062        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
063        protected String tailTemplate;
064        @XmlAttribute
065        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
066        protected Integer indentationLevel;
067        @XmlAttribute
068        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
069        protected Boolean optional;
070        @XmlAttribute
071        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
072        protected Boolean editable;
073    
074        /**
075         * Creates a new {@code SourceSectionType} instance.
076         * 
077         */
078        public SourceSectionType() {
079            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
080            super();
081        }
082    
083        /**
084         * Creates a new {@code SourceSectionType} instance by deeply copying a given {@code SourceSectionType} instance.
085         * 
086         * 
087         * @param o
088         *     The instance to copy.
089         * @throws NullPointerException
090         *     if {@code o} is {@code null}.
091         */
092        public SourceSectionType(final SourceSectionType o) {
093            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
094            super();
095            if (o == null) {
096                throw new NullPointerException("Cannot create a copy of 'SourceSectionType' from 'null'.");
097            }
098            // CClassInfo: org.jomc.tools.model.SourceSectionsType
099            this.sourceSections = ((o.getSourceSections() == null)?null:o.getSourceSections().clone());
100            // CBuiltinLeafInfo: java.lang.String
101            this.name = o.getName();
102            // CBuiltinLeafInfo: java.lang.String
103            this.headTemplate = o.getHeadTemplate();
104            // CBuiltinLeafInfo: java.lang.String
105            this.tailTemplate = o.getTailTemplate();
106            // CBuiltinLeafInfo: java.lang.Integer
107            this.indentationLevel = o.getIndentationLevel();
108            // CBuiltinLeafInfo: java.lang.Boolean
109            this.optional = o.isOptional();
110            // CBuiltinLeafInfo: java.lang.Boolean
111            this.editable = o.isEditable();
112        }
113    
114        /**
115         * Child sections of the section.
116         * 
117         * @return
118         *     possible object is
119         *     {@link SourceSectionsType }
120         *     
121         */
122        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
123        public SourceSectionsType getSourceSections() {
124            return sourceSections;
125        }
126    
127        /**
128         * Sets the value of the sourceSections property.
129         * 
130         * @param value
131         *     allowed object is
132         *     {@link SourceSectionsType }
133         *     
134         */
135        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
136        public void setSourceSections(SourceSectionsType value) {
137            this.sourceSections = value;
138        }
139    
140        /**
141         * Gets the value of the name property.
142         * 
143         * @return
144         *     possible object is
145         *     {@link String }
146         *     
147         */
148        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
149        public String getName() {
150            return name;
151        }
152    
153        /**
154         * Sets the value of the name property.
155         * 
156         * @param value
157         *     allowed object is
158         *     {@link String }
159         *     
160         */
161        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
162        public void setName(String value) {
163            this.name = value;
164        }
165    
166        /**
167         * Gets the value of the headTemplate property.
168         * 
169         * @return
170         *     possible object is
171         *     {@link String }
172         *     
173         */
174        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
175        public String getHeadTemplate() {
176            return headTemplate;
177        }
178    
179        /**
180         * Sets the value of the headTemplate property.
181         * 
182         * @param value
183         *     allowed object is
184         *     {@link String }
185         *     
186         */
187        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
188        public void setHeadTemplate(String value) {
189            this.headTemplate = value;
190        }
191    
192        /**
193         * Gets the value of the tailTemplate property.
194         * 
195         * @return
196         *     possible object is
197         *     {@link String }
198         *     
199         */
200        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
201        public String getTailTemplate() {
202            return tailTemplate;
203        }
204    
205        /**
206         * Sets the value of the tailTemplate property.
207         * 
208         * @param value
209         *     allowed object is
210         *     {@link String }
211         *     
212         */
213        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
214        public void setTailTemplate(String value) {
215            this.tailTemplate = value;
216        }
217    
218        /**
219         * Gets the value of the indentationLevel property.
220         * 
221         * @return
222         *     possible object is
223         *     {@link Integer }
224         *     
225         */
226        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
227        public int getIndentationLevel() {
228            if (indentationLevel == null) {
229                return  0;
230            } else {
231                return indentationLevel;
232            }
233        }
234    
235        /**
236         * Sets the value of the indentationLevel property.
237         * 
238         * @param value
239         *     allowed object is
240         *     {@link Integer }
241         *     
242         */
243        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
244        public void setIndentationLevel(Integer value) {
245            this.indentationLevel = value;
246        }
247    
248        /**
249         * Gets the value of the optional property.
250         * 
251         * @return
252         *     possible object is
253         *     {@link Boolean }
254         *     
255         */
256        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
257        public boolean isOptional() {
258            if (optional == null) {
259                return false;
260            } else {
261                return optional;
262            }
263        }
264    
265        /**
266         * Sets the value of the optional property.
267         * 
268         * @param value
269         *     allowed object is
270         *     {@link Boolean }
271         *     
272         */
273        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
274        public void setOptional(Boolean value) {
275            this.optional = value;
276        }
277    
278        /**
279         * Gets the value of the editable property.
280         * 
281         * @return
282         *     possible object is
283         *     {@link Boolean }
284         *     
285         */
286        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
287        public boolean isEditable() {
288            if (editable == null) {
289                return false;
290            } else {
291                return editable;
292            }
293        }
294    
295        /**
296         * Sets the value of the editable property.
297         * 
298         * @param value
299         *     allowed object is
300         *     {@link Boolean }
301         *     
302         */
303        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
304        public void setEditable(Boolean value) {
305            this.editable = value;
306        }
307    
308        /**
309         * Creates and returns a deep copy of this object.
310         * 
311         * 
312         * @return
313         *     A deep copy of this object.
314         */
315        @Override
316        @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-06-29T01:09:34+02:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
317        public SourceSectionType clone() {
318            // CC-XJC Version 1.3 Build 2010-02-27T15:04:03+0000
319            return new SourceSectionType(this);
320        }
321    
322    }