Xcos modelica init: fix the XSD Schema
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / modelica / model / Model.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.XmlType;
22
23 /**
24  * Root of the modelica tree.
25  *
26  * <p>
27  * Java class for Model complex type.
28  *
29  * <p>
30  * The following schema fragment specifies the expected content contained within
31  * this class.
32  *
33  * <pre>
34  * &lt;complexType name="Model">
35  *   &lt;complexContent>
36  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
37  *       &lt;sequence>
38  *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
39  *         &lt;element name="model_info" type="{}Info" minOccurs="0"/>
40  *         &lt;element name="identifiers" minOccurs="0">
41  *           &lt;complexType>
42  *             &lt;complexContent>
43  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
44  *                 &lt;sequence>
45  *                   &lt;element name="parameter" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
46  *                   &lt;element name="explicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
47  *                   &lt;element name="implicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
48  *                   &lt;element name="input" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
49  *                 &lt;/sequence>
50  *               &lt;/restriction>
51  *             &lt;/complexContent>
52  *           &lt;/complexType>
53  *         &lt;/element>
54  *         &lt;element name="implicit_relations" minOccurs="0">
55  *           &lt;complexType>
56  *             &lt;complexContent>
57  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
58  *                 &lt;sequence>
59  *                   &lt;element name="implicit_relation" maxOccurs="unbounded" minOccurs="0">
60  *                     &lt;complexType>
61  *                       &lt;complexContent>
62  *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
63  *                           &lt;sequence>
64  *                             &lt;element name="implicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
65  *                             &lt;element name="input" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
66  *                           &lt;/sequence>
67  *                         &lt;/restriction>
68  *                       &lt;/complexContent>
69  *                     &lt;/complexType>
70  *                   &lt;/element>
71  *                 &lt;/sequence>
72  *               &lt;/restriction>
73  *             &lt;/complexContent>
74  *           &lt;/complexType>
75  *         &lt;/element>
76  *         &lt;element name="explicit_relations" minOccurs="0">
77  *           &lt;complexType>
78  *             &lt;complexContent>
79  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
80  *                 &lt;sequence>
81  *                   &lt;element name="explicit_relation" maxOccurs="unbounded" minOccurs="0">
82  *                     &lt;complexType>
83  *                       &lt;complexContent>
84  *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
85  *                           &lt;sequence>
86  *                             &lt;element name="explicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
87  *                           &lt;/sequence>
88  *                         &lt;/restriction>
89  *                       &lt;/complexContent>
90  *                     &lt;/complexType>
91  *                   &lt;/element>
92  *                 &lt;/sequence>
93  *               &lt;/restriction>
94  *             &lt;/complexContent>
95  *           &lt;/complexType>
96  *         &lt;/element>
97  *         &lt;element name="outputs" minOccurs="0">
98  *           &lt;complexType>
99  *             &lt;complexContent>
100  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
101  *                 &lt;sequence>
102  *                   &lt;element name="output" type="{}Output" maxOccurs="unbounded" minOccurs="0"/>
103  *                 &lt;/sequence>
104  *               &lt;/restriction>
105  *             &lt;/complexContent>
106  *           &lt;/complexType>
107  *         &lt;/element>
108  *         &lt;element name="elements" minOccurs="0">
109  *           &lt;complexType>
110  *             &lt;complexContent>
111  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
112  *                 &lt;sequence>
113  *                   &lt;element name="struct" type="{}Struct" maxOccurs="unbounded" minOccurs="0"/>
114  *                 &lt;/sequence>
115  *               &lt;/restriction>
116  *             &lt;/complexContent>
117  *           &lt;/complexType>
118  *         &lt;/element>
119  *         &lt;element name="equations" minOccurs="0">
120  *           &lt;complexType>
121  *             &lt;complexContent>
122  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
123  *                 &lt;sequence>
124  *                   &lt;element name="equation" type="{}ModelicaValue" maxOccurs="unbounded" minOccurs="0"/>
125  *                 &lt;/sequence>
126  *               &lt;/restriction>
127  *             &lt;/complexContent>
128  *           &lt;/complexType>
129  *         &lt;/element>
130  *         &lt;element name="when_clauses" minOccurs="0">
131  *           &lt;complexType>
132  *             &lt;complexContent>
133  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
134  *                 &lt;sequence>
135  *                   &lt;element name="when_clause" type="{}ModelicaValue" maxOccurs="unbounded" minOccurs="0"/>
136  *                 &lt;/sequence>
137  *               &lt;/restriction>
138  *             &lt;/complexContent>
139  *           &lt;/complexType>
140  *         &lt;/element>
141  *       &lt;/sequence>
142  *     &lt;/restriction>
143  *   &lt;/complexContent>
144  * &lt;/complexType>
145  * </pre>
146  *
147  *
148  */
149 @XmlAccessorType(XmlAccessType.FIELD)
150 @XmlType(name = "Model", propOrder = { "name", "modelInfo", "identifiers", "implicitRelations", "explicitRelations", "outputs", "elements", "equations",
151                                        "whenClauses"
152                                      })
153 public class Model {
154
155     protected String name;
156     @XmlElement(name = "model_info")
157     protected Info modelInfo;
158     protected Model.Identifiers identifiers;
159     @XmlElement(name = "implicit_relations")
160     protected Model.ImplicitRelations implicitRelations;
161     @XmlElement(name = "explicit_relations")
162     protected Model.ExplicitRelations explicitRelations;
163     protected Model.Outputs outputs;
164     protected Model.Elements elements;
165     protected Model.Equations equations;
166     @XmlElement(name = "when_clauses")
167     protected Model.WhenClauses whenClauses;
168
169     /**
170      * Gets the value of the name property.
171      *
172      * @return possible object is {@link String }
173      *
174      */
175     public String getName() {
176         return name;
177     }
178
179     /**
180      * Sets the value of the name property.
181      *
182      * @param value
183      *            allowed object is {@link String }
184      *
185      */
186     public void setName(String value) {
187         this.name = value;
188     }
189
190     /**
191      * Gets the value of the modelInfo property.
192      *
193      * @return possible object is {@link Info }
194      *
195      */
196     public Info getModelInfo() {
197         return modelInfo;
198     }
199
200     /**
201      * Sets the value of the modelInfo property.
202      *
203      * @param value
204      *            allowed object is {@link Info }
205      *
206      */
207     public void setModelInfo(Info value) {
208         this.modelInfo = value;
209     }
210
211     /**
212      * Gets the value of the identifiers property.
213      *
214      * @return possible object is {@link Model.Identifiers }
215      *
216      */
217     public Model.Identifiers getIdentifiers() {
218         return identifiers;
219     }
220
221     /**
222      * Sets the value of the identifiers property.
223      *
224      * @param value
225      *            allowed object is {@link Model.Identifiers }
226      *
227      */
228     public void setIdentifiers(Model.Identifiers value) {
229         this.identifiers = value;
230     }
231
232     /**
233      * Gets the value of the implicitRelations property.
234      *
235      * @return possible object is {@link Model.ImplicitRelations }
236      *
237      */
238     public Model.ImplicitRelations getImplicitRelations() {
239         return implicitRelations;
240     }
241
242     /**
243      * Sets the value of the implicitRelations property.
244      *
245      * @param value
246      *            allowed object is {@link Model.ImplicitRelations }
247      *
248      */
249     public void setImplicitRelations(Model.ImplicitRelations value) {
250         this.implicitRelations = value;
251     }
252
253     /**
254      * Gets the value of the explicitRelations property.
255      *
256      * @return possible object is {@link Model.ExplicitRelations }
257      *
258      */
259     public Model.ExplicitRelations getExplicitRelations() {
260         return explicitRelations;
261     }
262
263     /**
264      * Sets the value of the explicitRelations property.
265      *
266      * @param value
267      *            allowed object is {@link Model.ExplicitRelations }
268      *
269      */
270     public void setExplicitRelations(Model.ExplicitRelations value) {
271         this.explicitRelations = value;
272     }
273
274     /**
275      * Gets the value of the outputs property.
276      *
277      * @return possible object is {@link Model.Outputs }
278      *
279      */
280     public Model.Outputs getOutputs() {
281         return outputs;
282     }
283
284     /**
285      * Sets the value of the outputs property.
286      *
287      * @param value
288      *            allowed object is {@link Model.Outputs }
289      *
290      */
291     public void setOutputs(Model.Outputs value) {
292         this.outputs = value;
293     }
294
295     /**
296      * Gets the value of the elements property.
297      *
298      * @return possible object is {@link Model.Elements }
299      *
300      */
301     public Model.Elements getElements() {
302         return elements;
303     }
304
305     /**
306      * Sets the value of the elements property.
307      *
308      * @param value
309      *            allowed object is {@link Model.Elements }
310      *
311      */
312     public void setElements(Model.Elements value) {
313         this.elements = value;
314     }
315
316     /**
317      * Gets the value of the equations property.
318      *
319      * @return possible object is {@link Model.Equations }
320      *
321      */
322     public Model.Equations getEquations() {
323         return equations;
324     }
325
326     /**
327      * Sets the value of the equations property.
328      *
329      * @param value
330      *            allowed object is {@link Model.Equations }
331      *
332      */
333     public void setEquations(Model.Equations value) {
334         this.equations = value;
335     }
336
337     /**
338      * Gets the value of the whenClauses property.
339      *
340      * @return possible object is {@link Model.WhenClauses }
341      *
342      */
343     public Model.WhenClauses getWhenClauses() {
344         return whenClauses;
345     }
346
347     /**
348      * Sets the value of the whenClauses property.
349      *
350      * @param value
351      *            allowed object is {@link Model.WhenClauses }
352      *
353      */
354     public void setWhenClauses(Model.WhenClauses value) {
355         this.whenClauses = value;
356     }
357
358     /**
359      * <p>
360      * Java class for anonymous complex type.
361      *
362      * <p>
363      * The following schema fragment specifies the expected content contained
364      * within this class.
365      *
366      * <pre>
367      * &lt;complexType>
368      *   &lt;complexContent>
369      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
370      *       &lt;sequence>
371      *         &lt;element name="struct" type="{}Struct" maxOccurs="unbounded" minOccurs="0"/>
372      *       &lt;/sequence>
373      *     &lt;/restriction>
374      *   &lt;/complexContent>
375      * &lt;/complexType>
376      * </pre>
377      *
378      *
379      */
380     @XmlAccessorType(XmlAccessType.FIELD)
381     @XmlType(name = "", propOrder = { "struct" })
382     public static class Elements {
383
384         @XmlElement(nillable = true)
385         protected List<Struct> struct;
386
387         /**
388          * Gets the value of the struct property.
389          *
390          * <p>
391          * This accessor method returns a reference to the live list, not a
392          * snapshot. Therefore any modification you make to the returned list
393          * will be present inside the JAXB object. This is why there is not a
394          * <CODE>set</CODE> method for the struct property.
395          *
396          * <p>
397          * For example, to add a new item, do as follows:
398          *
399          * <pre>
400          * getStruct().add(newItem);
401          * </pre>
402          *
403          *
404          * <p>
405          * Objects of the following type(s) are allowed in the list
406          * {@link Struct }
407          *
408          *
409          */
410         public List<Struct> getStruct() {
411             if (struct == null) {
412                 struct = new ArrayList<Struct>();
413             }
414             return this.struct;
415         }
416
417     }
418
419     /**
420      * <p>
421      * Java class for anonymous complex type.
422      *
423      * <p>
424      * The following schema fragment specifies the expected content contained
425      * within this class.
426      *
427      * <pre>
428      * &lt;complexType>
429      *   &lt;complexContent>
430      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
431      *       &lt;sequence>
432      *         &lt;element name="equation" type="{}ModelicaValue" maxOccurs="unbounded" minOccurs="0"/>
433      *       &lt;/sequence>
434      *     &lt;/restriction>
435      *   &lt;/complexContent>
436      * &lt;/complexType>
437      * </pre>
438      *
439      *
440      */
441     @XmlAccessorType(XmlAccessType.FIELD)
442     @XmlType(name = "", propOrder = { "equation" })
443     public static class Equations {
444
445         @XmlElement(nillable = true)
446         protected List<ModelicaValue> equation;
447
448         /**
449          * Gets the value of the equation property.
450          *
451          * <p>
452          * This accessor method returns a reference to the live list, not a
453          * snapshot. Therefore any modification you make to the returned list
454          * will be present inside the JAXB object. This is why there is not a
455          * <CODE>set</CODE> method for the equation property.
456          *
457          * <p>
458          * For example, to add a new item, do as follows:
459          *
460          * <pre>
461          * getEquation().add(newItem);
462          * </pre>
463          *
464          *
465          * <p>
466          * Objects of the following type(s) are allowed in the list
467          * {@link ModelicaValue }
468          *
469          *
470          */
471         public List<ModelicaValue> getEquation() {
472             if (equation == null) {
473                 equation = new ArrayList<ModelicaValue>();
474             }
475             return this.equation;
476         }
477
478     }
479
480     /**
481      * Wrapper around the explicit variables list.
482      *
483      * <p>
484      * Java class for anonymous complex type.
485      *
486      * <p>
487      * The following schema fragment specifies the expected content contained
488      * within this class.
489      *
490      * <pre>
491      * &lt;complexType>
492      *   &lt;complexContent>
493      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
494      *       &lt;sequence>
495      *         &lt;element name="explicit_relation" maxOccurs="unbounded" minOccurs="0">
496      *           &lt;complexType>
497      *             &lt;complexContent>
498      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
499      *                 &lt;sequence>
500      *                   &lt;element name="explicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
501      *                 &lt;/sequence>
502      *               &lt;/restriction>
503      *             &lt;/complexContent>
504      *           &lt;/complexType>
505      *         &lt;/element>
506      *       &lt;/sequence>
507      *     &lt;/restriction>
508      *   &lt;/complexContent>
509      * &lt;/complexType>
510      * </pre>
511      *
512      *
513      */
514     @XmlAccessorType(XmlAccessType.FIELD)
515     @XmlType(name = "", propOrder = { "explicitRelation" })
516     public static class ExplicitRelations {
517
518         @XmlElement(name = "explicit_relation")
519         protected List<Model.ExplicitRelations.ExplicitRelation> explicitRelation;
520
521         /**
522          * Gets the value of the explicitRelation property.
523          *
524          * <p>
525          * This accessor method returns a reference to the live list, not a
526          * snapshot. Therefore any modification you make to the returned list
527          * will be present inside the JAXB object. This is why there is not a
528          * <CODE>set</CODE> method for the explicitRelation property.
529          *
530          * <p>
531          * For example, to add a new item, do as follows:
532          *
533          * <pre>
534          * getExplicitRelation().add(newItem);
535          * </pre>
536          *
537          *
538          * <p>
539          * Objects of the following type(s) are allowed in the list
540          * {@link Model.ExplicitRelations.ExplicitRelation }
541          *
542          *
543          */
544         public List<Model.ExplicitRelations.ExplicitRelation> getExplicitRelation() {
545             if (explicitRelation == null) {
546                 explicitRelation = new ArrayList<Model.ExplicitRelations.ExplicitRelation>();
547             }
548             return this.explicitRelation;
549         }
550
551         /**
552          * <p>
553          * Java class for anonymous complex type.
554          *
555          * <p>
556          * The following schema fragment specifies the expected content
557          * contained within this class.
558          *
559          * <pre>
560          * &lt;complexType>
561          *   &lt;complexContent>
562          *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
563          *       &lt;sequence>
564          *         &lt;element name="explicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
565          *       &lt;/sequence>
566          *     &lt;/restriction>
567          *   &lt;/complexContent>
568          * &lt;/complexType>
569          * </pre>
570          *
571          *
572          */
573         @XmlAccessorType(XmlAccessType.FIELD)
574         @XmlType(name = "", propOrder = { "explicitVariable" })
575         public static class ExplicitRelation {
576
577             @XmlElement(name = "explicit_variable")
578             protected List<String> explicitVariable;
579
580             /**
581              * Gets the value of the explicitVariable property.
582              *
583              * <p>
584              * This accessor method returns a reference to the live list, not a
585              * snapshot. Therefore any modification you make to the returned
586              * list will be present inside the JAXB object. This is why there is
587              * not a <CODE>set</CODE> method for the explicitVariable property.
588              *
589              * <p>
590              * For example, to add a new item, do as follows:
591              *
592              * <pre>
593              * getExplicitVariable().add(newItem);
594              * </pre>
595              *
596              *
597              * <p>
598              * Objects of the following type(s) are allowed in the list
599              * {@link String }
600              *
601              *
602              */
603             public List<String> getExplicitVariable() {
604                 if (explicitVariable == null) {
605                     explicitVariable = new ArrayList<String>();
606                 }
607                 return this.explicitVariable;
608             }
609
610         }
611
612     }
613
614     /**
615      * Describe any model identifier.
616      *
617      * <p>
618      * Java class for anonymous complex type.
619      *
620      * <p>
621      * The following schema fragment specifies the expected content contained
622      * within this class.
623      *
624      * <pre>
625      * &lt;complexType>
626      *   &lt;complexContent>
627      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
628      *       &lt;sequence>
629      *         &lt;element name="parameter" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
630      *         &lt;element name="explicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
631      *         &lt;element name="implicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
632      *         &lt;element name="input" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
633      *       &lt;/sequence>
634      *     &lt;/restriction>
635      *   &lt;/complexContent>
636      * &lt;/complexType>
637      * </pre>
638      *
639      *
640      */
641     @XmlAccessorType(XmlAccessType.FIELD)
642     @XmlType(name = "", propOrder = { "parameter", "explicitVariable", "implicitVariable", "input" })
643     public static class Identifiers {
644
645         @XmlElement(nillable = true)
646         protected List<String> parameter;
647         @XmlElement(name = "explicit_variable")
648         protected List<String> explicitVariable;
649         @XmlElement(name = "implicit_variable")
650         protected List<String> implicitVariable;
651         protected List<String> input;
652
653         /**
654          * Gets the value of the parameter property.
655          *
656          * <p>
657          * This accessor method returns a reference to the live list, not a
658          * snapshot. Therefore any modification you make to the returned list
659          * will be present inside the JAXB object. This is why there is not a
660          * <CODE>set</CODE> method for the parameter property.
661          *
662          * <p>
663          * For example, to add a new item, do as follows:
664          *
665          * <pre>
666          * getParameter().add(newItem);
667          * </pre>
668          *
669          *
670          * <p>
671          * Objects of the following type(s) are allowed in the list
672          * {@link String }
673          *
674          *
675          */
676         public List<String> getParameter() {
677             if (parameter == null) {
678                 parameter = new ArrayList<String>();
679             }
680             return this.parameter;
681         }
682
683         /**
684          * Gets the value of the explicitVariable property.
685          *
686          * <p>
687          * This accessor method returns a reference to the live list, not a
688          * snapshot. Therefore any modification you make to the returned list
689          * will be present inside the JAXB object. This is why there is not a
690          * <CODE>set</CODE> method for the explicitVariable property.
691          *
692          * <p>
693          * For example, to add a new item, do as follows:
694          *
695          * <pre>
696          * getExplicitVariable().add(newItem);
697          * </pre>
698          *
699          *
700          * <p>
701          * Objects of the following type(s) are allowed in the list
702          * {@link String }
703          *
704          *
705          */
706         public List<String> getExplicitVariable() {
707             if (explicitVariable == null) {
708                 explicitVariable = new ArrayList<String>();
709             }
710             return this.explicitVariable;
711         }
712
713         /**
714          * Gets the value of the implicitVariable property.
715          *
716          * <p>
717          * This accessor method returns a reference to the live list, not a
718          * snapshot. Therefore any modification you make to the returned list
719          * will be present inside the JAXB object. This is why there is not a
720          * <CODE>set</CODE> method for the implicitVariable property.
721          *
722          * <p>
723          * For example, to add a new item, do as follows:
724          *
725          * <pre>
726          * getImplicitVariable().add(newItem);
727          * </pre>
728          *
729          *
730          * <p>
731          * Objects of the following type(s) are allowed in the list
732          * {@link String }
733          *
734          *
735          */
736         public List<String> getImplicitVariable() {
737             if (implicitVariable == null) {
738                 implicitVariable = new ArrayList<String>();
739             }
740             return this.implicitVariable;
741         }
742
743         /**
744          * Gets the value of the input property.
745          *
746          * <p>
747          * This accessor method returns a reference to the live list, not a
748          * snapshot. Therefore any modification you make to the returned list
749          * will be present inside the JAXB object. This is why there is not a
750          * <CODE>set</CODE> method for the input property.
751          *
752          * <p>
753          * For example, to add a new item, do as follows:
754          *
755          * <pre>
756          * getInput().add(newItem);
757          * </pre>
758          *
759          *
760          * <p>
761          * Objects of the following type(s) are allowed in the list
762          * {@link String }
763          *
764          *
765          */
766         public List<String> getInput() {
767             if (input == null) {
768                 input = new ArrayList<String>();
769             }
770             return this.input;
771         }
772
773     }
774
775     /**
776      * Wrapper around the implicit (and inputs) variables list.
777      *
778      * <p>
779      * Java class for anonymous complex type.
780      *
781      * <p>
782      * The following schema fragment specifies the expected content contained
783      * within this class.
784      *
785      * <pre>
786      * &lt;complexType>
787      *   &lt;complexContent>
788      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
789      *       &lt;sequence>
790      *         &lt;element name="implicit_relation" maxOccurs="unbounded" minOccurs="0">
791      *           &lt;complexType>
792      *             &lt;complexContent>
793      *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
794      *                 &lt;sequence>
795      *                   &lt;element name="implicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
796      *                   &lt;element name="input" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
797      *                 &lt;/sequence>
798      *               &lt;/restriction>
799      *             &lt;/complexContent>
800      *           &lt;/complexType>
801      *         &lt;/element>
802      *       &lt;/sequence>
803      *     &lt;/restriction>
804      *   &lt;/complexContent>
805      * &lt;/complexType>
806      * </pre>
807      *
808      *
809      */
810     @XmlAccessorType(XmlAccessType.FIELD)
811     @XmlType(name = "", propOrder = { "implicitRelation" })
812     public static class ImplicitRelations {
813
814         @XmlElement(name = "implicit_relation")
815         protected List<Model.ImplicitRelations.ImplicitRelation> implicitRelation;
816
817         /**
818          * Gets the value of the implicitRelation property.
819          *
820          * <p>
821          * This accessor method returns a reference to the live list, not a
822          * snapshot. Therefore any modification you make to the returned list
823          * will be present inside the JAXB object. This is why there is not a
824          * <CODE>set</CODE> method for the implicitRelation property.
825          *
826          * <p>
827          * For example, to add a new item, do as follows:
828          *
829          * <pre>
830          * getImplicitRelation().add(newItem);
831          * </pre>
832          *
833          *
834          * <p>
835          * Objects of the following type(s) are allowed in the list
836          * {@link Model.ImplicitRelations.ImplicitRelation }
837          *
838          *
839          */
840         public List<Model.ImplicitRelations.ImplicitRelation> getImplicitRelation() {
841             if (implicitRelation == null) {
842                 implicitRelation = new ArrayList<Model.ImplicitRelations.ImplicitRelation>();
843             }
844             return this.implicitRelation;
845         }
846
847         /**
848          * <p>
849          * Java class for anonymous complex type.
850          *
851          * <p>
852          * The following schema fragment specifies the expected content
853          * contained within this class.
854          *
855          * <pre>
856          * &lt;complexType>
857          *   &lt;complexContent>
858          *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
859          *       &lt;sequence>
860          *         &lt;element name="implicit_variable" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
861          *         &lt;element name="input" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
862          *       &lt;/sequence>
863          *     &lt;/restriction>
864          *   &lt;/complexContent>
865          * &lt;/complexType>
866          * </pre>
867          *
868          *
869          */
870         @XmlAccessorType(XmlAccessType.FIELD)
871         @XmlType(name = "", propOrder = { "implicitVariable", "input" })
872         public static class ImplicitRelation {
873
874             @XmlElement(name = "implicit_variable")
875             protected List<String> implicitVariable;
876             protected List<String> input;
877
878             /**
879              * Gets the value of the implicitVariable property.
880              *
881              * <p>
882              * This accessor method returns a reference to the live list, not a
883              * snapshot. Therefore any modification you make to the returned
884              * list will be present inside the JAXB object. This is why there is
885              * not a <CODE>set</CODE> method for the implicitVariable property.
886              *
887              * <p>
888              * For example, to add a new item, do as follows:
889              *
890              * <pre>
891              * getImplicitVariable().add(newItem);
892              * </pre>
893              *
894              *
895              * <p>
896              * Objects of the following type(s) are allowed in the list
897              * {@link String }
898              *
899              *
900              */
901             public List<String> getImplicitVariable() {
902                 if (implicitVariable == null) {
903                     implicitVariable = new ArrayList<String>();
904                 }
905                 return this.implicitVariable;
906             }
907
908             /**
909              * Gets the value of the input property.
910              *
911              * <p>
912              * This accessor method returns a reference to the live list, not a
913              * snapshot. Therefore any modification you make to the returned
914              * list will be present inside the JAXB object. This is why there is
915              * not a <CODE>set</CODE> method for the input property.
916              *
917              * <p>
918              * For example, to add a new item, do as follows:
919              *
920              * <pre>
921              * getInput().add(newItem);
922              * </pre>
923              *
924              *
925              * <p>
926              * Objects of the following type(s) are allowed in the list
927              * {@link String }
928              *
929              *
930              */
931             public List<String> getInput() {
932                 if (input == null) {
933                     input = new ArrayList<String>();
934                 }
935                 return this.input;
936             }
937
938         }
939
940     }
941
942     /**
943      * Wrapper around the {@link Output} list.
944      *
945      * <p>
946      * Java class for anonymous complex type.
947      *
948      * <p>
949      * The following schema fragment specifies the expected content contained
950      * within this class.
951      *
952      * <pre>
953      * &lt;complexType>
954      *   &lt;complexContent>
955      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
956      *       &lt;sequence>
957      *         &lt;element name="output" type="{}Output" maxOccurs="unbounded" minOccurs="0"/>
958      *       &lt;/sequence>
959      *     &lt;/restriction>
960      *   &lt;/complexContent>
961      * &lt;/complexType>
962      * </pre>
963      *
964      *
965      */
966     @XmlAccessorType(XmlAccessType.FIELD)
967     @XmlType(name = "", propOrder = { "output" })
968     public static class Outputs {
969
970         @XmlElement(nillable = true)
971         protected List<Output> output;
972
973         /**
974          * Gets the value of the output property.
975          *
976          * <p>
977          * This accessor method returns a reference to the live list, not a
978          * snapshot. Therefore any modification you make to the returned list
979          * will be present inside the JAXB object. This is why there is not a
980          * <CODE>set</CODE> method for the output property.
981          *
982          * <p>
983          * For example, to add a new item, do as follows:
984          *
985          * <pre>
986          * getOutput().add(newItem);
987          * </pre>
988          *
989          *
990          * <p>
991          * Objects of the following type(s) are allowed in the list
992          * {@link Output }
993          *
994          *
995          */
996         public List<Output> getOutput() {
997             if (output == null) {
998                 output = new ArrayList<Output>();
999             }
1000             return this.output;
1001         }
1002
1003     }
1004
1005     /**
1006      * <p>
1007      * Java class for anonymous complex type.
1008      *
1009      * <p>
1010      * The following schema fragment specifies the expected content contained
1011      * within this class.
1012      *
1013      * <pre>
1014      * &lt;complexType>
1015      *   &lt;complexContent>
1016      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1017      *       &lt;sequence>
1018      *         &lt;element name="when_clause" type="{}ModelicaValue" maxOccurs="unbounded" minOccurs="0"/>
1019      *       &lt;/sequence>
1020      *     &lt;/restriction>
1021      *   &lt;/complexContent>
1022      * &lt;/complexType>
1023      * </pre>
1024      *
1025      *
1026      */
1027     @XmlAccessorType(XmlAccessType.FIELD)
1028     @XmlType(name = "", propOrder = { "whenClause" })
1029     public static class WhenClauses {
1030
1031         @XmlElement(name = "when_clause", nillable = true)
1032         protected List<ModelicaValue> whenClause;
1033
1034         /**
1035          * Gets the value of the whenClause property.
1036          *
1037          * <p>
1038          * This accessor method returns a reference to the live list, not a
1039          * snapshot. Therefore any modification you make to the returned list
1040          * will be present inside the JAXB object. This is why there is not a
1041          * <CODE>set</CODE> method for the whenClause property.
1042          *
1043          * <p>
1044          * For example, to add a new item, do as follows:
1045          *
1046          * <pre>
1047          * getWhenClause().add(newItem);
1048          * </pre>
1049          *
1050          *
1051          * <p>
1052          * Objects of the following type(s) are allowed in the list
1053          * {@link ModelicaValue }
1054          *
1055          *
1056          */
1057         public List<ModelicaValue> getWhenClause() {
1058             if (whenClause == null) {
1059                 whenClause = new ArrayList<ModelicaValue>();
1060             }
1061             return this.whenClause;
1062         }
1063
1064     }
1065
1066 }