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;
10 public class RocketSaver extends RocketComponentSaver {
12 private static final RocketSaver instance = new RocketSaver();
14 public static ArrayList<String> getElements(net.sf.openrocket.rocketcomponent.RocketComponent c) {
15 ArrayList<String> list = new ArrayList<String>();
18 instance.addParams(c, list);
19 list.add("</rocket>");
25 protected void addParams(net.sf.openrocket.rocketcomponent.RocketComponent c, List<String> elements) {
26 super.addParams(c, elements);
28 Rocket rocket = (Rocket) c;
30 if (rocket.getDesigner().length() > 0) {
31 elements.add("<designer>"
32 + net.sf.openrocket.file.RocketSaver.escapeXML(rocket.getDesigner())
35 if (rocket.getRevision().length() > 0) {
36 elements.add("<revision>"
37 + net.sf.openrocket.file.RocketSaver.escapeXML(rocket.getRevision())
42 // Motor configurations
43 String defId = rocket.getDefaultConfiguration().getMotorConfigurationID();
44 for (String id : rocket.getMotorConfigurationIDs()) {
48 String str = "<motorconfiguration configid=\"" + id + "\"";
50 str += " default=\"true\"";
52 if (rocket.getMotorConfigurationName(id) == "") {
55 str += "><name>" + net.sf.openrocket.file.RocketSaver.escapeXML(rocket.getMotorConfigurationName(id))
56 + "</name></motorconfiguration>";
62 elements.add("<referencetype>" + rocket.getReferenceType().name().toLowerCase(Locale.ENGLISH)
63 + "</referencetype>");
64 if (rocket.getReferenceType() == ReferenceType.CUSTOM) {
65 elements.add("<customreference>" + rocket.getCustomReferenceLength()
66 + "</customreference>");