X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fpreset%2Floader%2FBaseColumnParser.java;fp=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fpreset%2Floader%2FBaseColumnParser.java;h=9c95197f15100439bb731707bf39c915e34e9e38;hb=9349577cdfdff682b2aabd6daa24fdc3a7449b58;hp=0000000000000000000000000000000000000000;hpb=30ba0a882f0c061176ba14dbf86d3d6fad096c02;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/preset/loader/BaseColumnParser.java b/core/src/net/sf/openrocket/preset/loader/BaseColumnParser.java new file mode 100644 index 00000000..9c95197f --- /dev/null +++ b/core/src/net/sf/openrocket/preset/loader/BaseColumnParser.java @@ -0,0 +1,42 @@ +package net.sf.openrocket.preset.loader; + +import java.util.Locale; + +import net.sf.openrocket.preset.TypedPropertyMap; + + +public abstract class BaseColumnParser implements RocksimComponentFileColumnParser { + + protected String columnHeader; + protected boolean isConfigured = false; + protected int columnIndex; + + public BaseColumnParser(String columnHeader) { + super(); + this.columnHeader = columnHeader.toLowerCase(Locale.US); + } + + @Override + public void configure(String[] headers) { + if ( headers == null ) { + return; + } + for( int i =0; i< headers.length; i++ ) { + if ( columnHeader.equals(headers[i].toLowerCase(Locale.US))) { + columnIndex = i; + isConfigured = true; + return; + } + } + } + + @Override + final public void parse(String[] data, TypedPropertyMap props) { + if ( isConfigured ) { + doParse(data[columnIndex], data, props); + } + } + + protected abstract void doParse(String columnData, String[] data, TypedPropertyMap props ); + +}