Implement MaterialHolder, a container for the Material objects loaded during processi...
[debian/openrocket] / core / src / net / sf / openrocket / preset / loader / LineMaterialColumnParser.java
1 package net.sf.openrocket.preset.loader;
2
3 import java.util.Collections;
4 import java.util.Map;
5
6 import net.sf.openrocket.material.Material;
7 import net.sf.openrocket.preset.TypedKey;
8 import net.sf.openrocket.preset.TypedPropertyMap;
9
10 public class LineMaterialColumnParser extends BaseColumnParser {
11
12         private final MaterialHolder materialMap;
13
14         private final TypedKey<Material> param;
15         
16         public LineMaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey<Material> param) {
17                 super(columnName);
18                 this.param = param;
19                 this.materialMap = materialMap;
20         }
21         
22
23         @Override
24         protected void doParse(String columnData, String[] data, TypedPropertyMap props) {
25
26                 if ( columnData == null || "".equals(columnData.trim())) {
27                         return;
28                 }
29                 
30                 Material.Line myMaterial = new Material.Line(columnData, 0.0, true);
31
32                 myMaterial = materialMap.getLineMaterial(myMaterial);
33                 props.put(param, myMaterial);
34
35         }
36
37 }