1 package net.sf.openrocket.file.openrocket.savers;
3 import java.util.ArrayList;
5 import java.util.Locale;
7 import net.sf.openrocket.rocketcomponent.ReferenceType;
8 import net.sf.openrocket.rocketcomponent.Rocket;
11 public class RocketSaver extends RocketComponentSaver {
13 private static final RocketSaver instance = new RocketSaver();
15 public static ArrayList<String> getElements(net.sf.openrocket.rocketcomponent.RocketComponent c) {
16 ArrayList<String> list = new ArrayList<String>();
19 instance.addParams(c, list);
20 list.add("</rocket>");
28 protected void addParams(net.sf.openrocket.rocketcomponent.RocketComponent c, List<String> elements) {
29 super.addParams(c, elements);
31 Rocket rocket = (Rocket) c;
33 if (rocket.getDesigner().length() > 0) {
34 elements.add("<designer>"
35 + net.sf.openrocket.file.RocketSaver.escapeXML(rocket.getDesigner())
38 if (rocket.getRevision().length() > 0) {
39 elements.add("<revision>"
40 + net.sf.openrocket.file.RocketSaver.escapeXML(rocket.getRevision())
45 // Motor configurations
46 String defId = rocket.getDefaultConfiguration().getMotorConfigurationID();
47 for (String id : rocket.getMotorConfigurationIDs()) {
51 String str = "<motorconfiguration configid=\"" + id + "\"";
53 str += " default=\"true\"";
55 if (rocket.getMotorConfigurationName(id) == "") {
58 str += "><name>" + net.sf.openrocket.file.RocketSaver.escapeXML(rocket.getMotorConfigurationName(id))
59 + "</name></motorconfiguration>";
65 elements.add("<referencetype>" + rocket.getReferenceType().name().toLowerCase(Locale.ENGLISH)
66 + "</referencetype>");
67 if (rocket.getReferenceType() == ReferenceType.CUSTOM) {
68 elements.add("<customreference>" + rocket.getCustomReferenceLength()
69 + "</customreference>");