1 package net.sf.openrocket.preset.loader;
3 import java.util.ArrayList;
7 import net.sf.openrocket.material.Material;
8 import net.sf.openrocket.preset.ComponentPreset;
9 import net.sf.openrocket.preset.ComponentPresetFactory;
10 import net.sf.openrocket.preset.InvalidComponentPresetException;
11 import net.sf.openrocket.preset.TypedPropertyMap;
13 public abstract class BaseComponentLoader extends RocksimComponentFileLoader {
15 List<ComponentPreset> presets;
17 public BaseComponentLoader(MaterialHolder materials) {
19 presets = new ArrayList<ComponentPreset>();
21 fileColumns.add( new ManufacturerColumnParser() );
22 fileColumns.add( new StringColumnParser("Part No.", ComponentPreset.PARTNO));
23 fileColumns.add( new StringColumnParser("Desc.", ComponentPreset.DESCRIPTION));
24 fileColumns.add(new MaterialColumnParser(materials));
25 fileColumns.add(new MassColumnParser("Mass","Mass units"));
29 protected abstract ComponentPreset.Type getComponentPresetType();
31 public List<ComponentPreset> getPresets() {
36 protected void postProcess(TypedPropertyMap props) {
38 props.put(ComponentPreset.TYPE, getComponentPresetType());
39 ComponentPreset preset = ComponentPresetFactory.create(props);
41 } catch ( InvalidComponentPresetException ex ) {
42 System.err.println(ex.getMessage());
43 System.err.println(props);