Support for configurable stage separation
[debian/openrocket] / core / src / net / sf / openrocket / file / openrocket / savers / StageSaver.java
1 package net.sf.openrocket.file.openrocket.savers;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import net.sf.openrocket.rocketcomponent.RocketComponent;
7 import net.sf.openrocket.rocketcomponent.Stage;
8
9 public class StageSaver extends ComponentAssemblySaver {
10         
11         private static final StageSaver instance = new StageSaver();
12         
13         public static ArrayList<String> getElements(net.sf.openrocket.rocketcomponent.RocketComponent c) {
14                 ArrayList<String> list = new ArrayList<String>();
15                 
16                 list.add("<stage>");
17                 instance.addParams(c, list);
18                 list.add("</stage>");
19                 
20                 return list;
21         }
22         
23         @Override
24         protected void addParams(RocketComponent c, List<String> elements) {
25                 super.addParams(c, elements);
26                 Stage stage = (Stage) c;
27                 
28                 if (stage.getStageNumber() > 0) {
29                         elements.add("<separationevent>"
30                                         + stage.getSeparationEvent().name().toLowerCase().replace("_", "")
31                                         + "</separationevent>");
32                         elements.add("<separationdelay>" + stage.getSeparationDelay() + "</separationdelay>");
33                 }
34         }
35 }