]> git.gag.com Git - debian/openrocket/blob - core/src/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.java
Initial XML generating code for .orc format.
[debian/openrocket] / core / src / net / sf / openrocket / preset / xml / OpenRocketComponentDTO.java
1 package net.sf.openrocket.preset.xml;
2
3 import javax.xml.bind.annotation.XmlAccessType;
4 import javax.xml.bind.annotation.XmlAccessorType;
5 import javax.xml.bind.annotation.XmlElement;
6 import javax.xml.bind.annotation.XmlElementRef;
7 import javax.xml.bind.annotation.XmlElementRefs;
8 import javax.xml.bind.annotation.XmlElementWrapper;
9 import javax.xml.bind.annotation.XmlRootElement;
10 import java.util.ArrayList;
11 import java.util.List;
12
13 /**
14  * The real 'root' element in an XML document.
15  */
16 @XmlRootElement(name = "OpenRocketComponent")
17 @XmlAccessorType(XmlAccessType.FIELD)
18 public class OpenRocketComponentDTO {
19
20     @XmlElement(name = "Version")
21     private final String version = "0.1";
22
23     @XmlElementWrapper(name = "Materials")
24             @XmlElement(name = "Material")
25     List<MaterialDTO> materials = new ArrayList<MaterialDTO>();
26
27     @XmlElementWrapper(name = "Components")
28     @XmlElementRefs({
29             @XmlElementRef(name = "BodyTubes", type = BodyTubeDTO.class),
30             @XmlElementRef(name = "TubeCouplers", type = TubeCouplerDTO.class),
31             @XmlElementRef(name = "NoseCones", type = NoseConeDTO.class),
32             @XmlElementRef(name = "Transitions", type = TransitionDTO.class),
33             @XmlElementRef(name = "BulkHeads", type = BulkHeadDTO.class),
34             @XmlElementRef(name = "CenteringRings", type = CenteringRingDTO.class),
35             @XmlElementRef(name = "EngineBlocks", type = EngineBlockDTO.class)})
36     private List<BaseComponentDTO> components = new ArrayList<BaseComponentDTO>();
37
38     public OpenRocketComponentDTO() {
39     }
40
41     public OpenRocketComponentDTO(final List<MaterialDTO> theMaterials, final List<BaseComponentDTO> theComponents) {
42         materials = theMaterials;
43         components = theComponents;
44     }
45
46     public List<MaterialDTO> getMaterials() {
47         return materials;
48     }
49
50     public void addMaterial(final MaterialDTO theMaterial) {
51         materials.add(theMaterial);
52     }
53
54     public void setMaterials(final List<MaterialDTO> theMaterials) {
55         materials = theMaterials;
56     }
57
58     public List<BaseComponentDTO> getComponents() {
59         return components;
60     }
61
62     public void addComponent(final BaseComponentDTO theComponent) {
63         components.add(theComponent);
64     }
65
66     public void setComponents(final List<BaseComponentDTO> theComponents) {
67         components = theComponents;
68     }
69 }