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