Material localization support
[debian/openrocket] / core / src / net / sf / openrocket / preset / loader / SurfaceMaterialColumnParser.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.TypedKey;
6 import net.sf.openrocket.preset.TypedPropertyMap;
7
8 public class SurfaceMaterialColumnParser extends BaseColumnParser {
9         
10         private final MaterialHolder materialMap;
11         
12         private final TypedKey<Material> param;
13         
14         public SurfaceMaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey<Material> param) {
15                 super(columnName);
16                 this.param = param;
17                 this.materialMap = materialMap;
18         }
19         
20         
21         @Override
22         protected void doParse(String columnData, String[] data, TypedPropertyMap props) {
23                 
24                 if (columnData == null || "".equals(columnData.trim())) {
25                         return;
26                 }
27                 
28                 Material.Surface myMaterial = (Material.Surface) Databases.findMaterial(Material.Type.SURFACE, columnData, 0.0);
29                 Material.Surface m = materialMap.getSurfaceMaterial(myMaterial, null);
30                 props.put(param, m != null ? m : myMaterial);
31                 
32         }
33         
34 }