X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fpreset%2Floader%2FLineMaterialColumnParser.java;fp=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fpreset%2Floader%2FLineMaterialColumnParser.java;h=42a79722a983c5f55306e2decec2e262a25f00e9;hb=9349577cdfdff682b2aabd6daa24fdc3a7449b58;hp=0000000000000000000000000000000000000000;hpb=30ba0a882f0c061176ba14dbf86d3d6fad096c02;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java b/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java new file mode 100644 index 00000000..42a79722 --- /dev/null +++ b/core/src/net/sf/openrocket/preset/loader/LineMaterialColumnParser.java @@ -0,0 +1,35 @@ +package net.sf.openrocket.preset.loader; + +import net.sf.openrocket.database.Databases; +import net.sf.openrocket.material.Material; +import net.sf.openrocket.preset.TypedKey; +import net.sf.openrocket.preset.TypedPropertyMap; + +public class LineMaterialColumnParser extends BaseColumnParser { + + private final MaterialHolder materialMap; + + private final TypedKey param; + + public LineMaterialColumnParser(MaterialHolder materialMap, String columnName, TypedKey param) { + super(columnName); + this.param = param; + this.materialMap = materialMap; + } + + + @Override + protected void doParse(String columnData, String[] data, TypedPropertyMap props) { + + if (columnData == null || "".equals(columnData.trim())) { + return; + } + + Material.Line myMaterial = (Material.Line) Databases.findMaterial(Material.Type.LINE, columnData, 0.0); + + Material.Line m = materialMap.getLineMaterial(myMaterial); + props.put(param, m != null ? m : myMaterial); + + } + +}