package net.sf.openrocket.preset.xml;
-import net.sf.openrocket.preset.ComponentPreset;
-import net.sf.openrocket.preset.InvalidComponentPresetException;
+import java.util.ArrayList;
+import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
-import java.util.ArrayList;
-import java.util.List;
+
+import net.sf.openrocket.material.Material;
+import net.sf.openrocket.preset.ComponentPreset;
+import net.sf.openrocket.preset.InvalidComponentPresetException;
/**
* The real 'root' element in an XML document.
@XmlElementRef(name = "Transitions", type = TransitionDTO.class),
@XmlElementRef(name = "BulkHeads", type = BulkHeadDTO.class),
@XmlElementRef(name = "CenteringRings", type = CenteringRingDTO.class),
- @XmlElementRef(name = "EngineBlocks", type = EngineBlockDTO.class)})
+ @XmlElementRef(name = "EngineBlocks", type = EngineBlockDTO.class),
+ @XmlElementRef(name = "LaunchLugs", type = LaunchLugDTO.class),
+ @XmlElementRef(name = "Streamers", type = StreamerDTO.class),
+ @XmlElementRef(name = "Parachutes", type = ParachuteDTO.class)})
private List<BaseComponentDTO> components = new ArrayList<BaseComponentDTO>();
public OpenRocketComponentDTO() {
}
public List<ComponentPreset> asComponentPresets() throws InvalidComponentPresetException {
- List<ComponentPreset> result = new ArrayList<ComponentPreset>();
+ List<ComponentPreset> result = new ArrayList<ComponentPreset>(components.size());
for (int i = 0; i < components.size(); i++) {
result.add(components.get(i).asComponentPreset(materials));
}
return result;
}
+
+ public List<Material> asMaterialList() {
+ List<Material> result = new ArrayList<Material>( materials.size() );
+ for( MaterialDTO material : materials ) {
+ result.add( material.asMaterial() );
+ }
+ return result;
+ }
}