415c11f19139344b89ff8e78a80b1c0eb5f85202
[debian/openrocket] / core / src / net / sf / openrocket / preset / loader / MaterialColumnParser.java
1 package net.sf.openrocket.preset.loader;
2
3 import net.sf.openrocket.material.Material;
4 import net.sf.openrocket.preset.ComponentPreset;
5 import net.sf.openrocket.preset.TypedKey;
6 import net.sf.openrocket.preset.TypedPropertyMap;
7
8 public class MaterialColumnParser extends BaseColumnParser {
9
10         private final MaterialHolder materialMap;
11
12         private final TypedKey<Material> param;
13         
14         public MaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey<Material> param) {
15                 super(columnName);
16                 this.param = param;
17                 this.materialMap = materialMap;
18         }
19         
20         public MaterialColumnParser(MaterialHolder materialMap) {
21                 this(materialMap, "Material", ComponentPreset.MATERIAL);
22         }
23         
24
25         @Override
26         protected void doParse(String columnData, String[] data, TypedPropertyMap props) {
27
28                 if ( columnData == null || "".equals(columnData.trim())) {
29                         return;
30                 }
31                 
32                 Material.Bulk tmpMaterial = (Material.Bulk) Material.newUserMaterial( Material.Type.BULK,columnData, 0.0);
33                 Material.Bulk m = materialMap.getBulkMaterial(tmpMaterial);
34                 props.put(param, m!= null ? m : tmpMaterial);
35                 
36         }
37
38 }