Xcos modelica init: fix the XSD Schema
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / modelica / model / Struct.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2010-2010 - DIGITEO - Clement DAVID <clement.david@scilab.org>
4  * Copyright (C) 2011-2013 - Scilab Enterprises - Clement DAVID
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11  *
12  */
13
14 package org.scilab.modules.xcos.modelica.model;
15
16 import java.util.ArrayList;
17 import java.util.List;
18 import javax.xml.bind.annotation.XmlAccessType;
19 import javax.xml.bind.annotation.XmlAccessorType;
20 import javax.xml.bind.annotation.XmlElement;
21 import javax.xml.bind.annotation.XmlElements;
22 import javax.xml.bind.annotation.XmlType;
23
24 /**
25  * Partial tree of a structured content. Each node of a this type must not be a
26  * leaf.
27  *
28  * <p>
29  * Java class for Struct complex type.
30  *
31  * <p>
32  * The following schema fragment specifies the expected content contained within
33  * this class.
34  *
35  * <pre>
36  * &lt;complexType name="Struct">
37  *   &lt;complexContent>
38  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
39  *       &lt;sequence>
40  *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
41  *         &lt;element name="subnodes">
42  *           &lt;complexType>
43  *             &lt;complexContent>
44  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
45  *                 &lt;sequence>
46  *                   &lt;choice maxOccurs="unbounded" minOccurs="0">
47  *                     &lt;element name="struct" type="{}Struct"/>
48  *                     &lt;element name="terminal" type="{}Terminal"/>
49  *                   &lt;/choice>
50  *                 &lt;/sequence>
51  *               &lt;/restriction>
52  *             &lt;/complexContent>
53  *           &lt;/complexType>
54  *         &lt;/element>
55  *       &lt;/sequence>
56  *     &lt;/restriction>
57  *   &lt;/complexContent>
58  * &lt;/complexType>
59  * </pre>
60  *
61  *
62  */
63 @XmlAccessorType(XmlAccessType.FIELD)
64 @XmlType(name = "Struct", propOrder = { "name", "subnodes" })
65 public class Struct {
66
67     @XmlElement(required = true)
68     protected String name;
69     @XmlElement(required = true)
70     protected Struct.Subnodes subnodes;
71
72     /**
73      * Gets the value of the name property.
74      *
75      * @return possible object is {@link String }
76      *
77      */
78     public String getName() {
79         return name;
80     }
81
82     /**
83      * Sets the value of the name property.
84      *
85      * @param value
86      *            allowed object is {@link String }
87      *
88      */
89     public void setName(String value) {
90         this.name = value;
91     }
92
93     /**
94      * Gets the value of the subnodes property.
95      *
96      * @return possible object is {@link Struct.Subnodes }
97      *
98      */
99     public Struct.Subnodes getSubnodes() {
100         return subnodes;
101     }
102
103     /**
104      * Sets the value of the subnodes property.
105      *
106      * @param value
107      *            allowed object is {@link Struct.Subnodes }
108      *
109      */
110     public void setSubnodes(Struct.Subnodes value) {
111         this.subnodes = value;
112     }
113
114     /**
115      * <p>
116      * Java class for anonymous complex type.
117      *
118      * <p>
119      * The following schema fragment specifies the expected content contained
120      * within this class.
121      *
122      * <pre>
123      * &lt;complexType>
124      *   &lt;complexContent>
125      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
126      *       &lt;sequence>
127      *         &lt;choice maxOccurs="unbounded" minOccurs="0">
128      *           &lt;element name="struct" type="{}Struct"/>
129      *           &lt;element name="terminal" type="{}Terminal"/>
130      *         &lt;/choice>
131      *       &lt;/sequence>
132      *     &lt;/restriction>
133      *   &lt;/complexContent>
134      * &lt;/complexType>
135      * </pre>
136      *
137      *
138      */
139     @XmlAccessorType(XmlAccessType.FIELD)
140     @XmlType(name = "", propOrder = { "structOrTerminal" })
141     public static class Subnodes {
142
143         @XmlElements({ @XmlElement(name = "terminal", type = Terminal.class), @XmlElement(name = "struct", type = Struct.class) })
144         protected List<Object> structOrTerminal;
145
146         /**
147          * Gets the value of the structOrTerminal property.
148          *
149          * <p>
150          * This accessor method returns a reference to the live list, not a
151          * snapshot. Therefore any modification you make to the returned list
152          * will be present inside the JAXB object. This is why there is not a
153          * <CODE>set</CODE> method for the structOrTerminal property.
154          *
155          * <p>
156          * For example, to add a new item, do as follows:
157          *
158          * <pre>
159          * getStructOrTerminal().add(newItem);
160          * </pre>
161          *
162          *
163          * <p>
164          * Objects of the following type(s) are allowed in the list
165          * {@link Terminal } {@link Struct }
166          *
167          *
168          */
169         public List<Object> getStructOrTerminal() {
170             if (structOrTerminal == null) {
171                 structOrTerminal = new ArrayList<Object>();
172             }
173             return this.structOrTerminal;
174         }
175
176     }
177
178 }