package net.sf.openrocket.preset.loader;
-import java.util.Collections;
-import java.util.Map;
-
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.TypedKey;
import net.sf.openrocket.preset.TypedPropertyMap;
public class LineMaterialColumnParser extends BaseColumnParser {
- private Map<String,Material> materialMap = Collections.<String,Material>emptyMap();
+ private final MaterialHolder materialMap;
private final TypedKey<Material> param;
- public LineMaterialColumnParser(Map<String,Material> materialMap, String columnName, TypedKey<Material> param) {
+ public LineMaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey<Material> param) {
super(columnName);
this.param = param;
this.materialMap = materialMap;
return;
}
- Material.Line myMaterial;
+ Material.Line myMaterial = (Material.Line) Material.newUserMaterial(Material.Type.LINE, columnData, 0.0);
- Material m = materialMap.get(columnData);
-
- if ( m == null || m.getType() != Material.Type.LINE ) {
- myMaterial = new Material.Line(columnData, 0.0, true);
- } else {
- myMaterial =(Material.Line) m;
- }
-
- props.put(param, myMaterial);
+ Material.Line m = materialMap.getLineMaterial(myMaterial);
+ props.put(param, m!=null? m : myMaterial);
}