X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fdatabase%2FComponentPresetDao.java;h=a27a7f5d424304295d84c631ea261be95a019b82;hb=4095cb0dd61a75b7b6b0bd811f8e803af5b27919;hp=17a85c4ea1c48e2264a064ccf81e9ce7e96a23d5;hpb=c96809f2b87c51e378e6274653b9d85c9bc49255;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/database/ComponentPresetDao.java b/core/src/net/sf/openrocket/database/ComponentPresetDao.java index 17a85c4e..a27a7f5d 100644 --- a/core/src/net/sf/openrocket/database/ComponentPresetDao.java +++ b/core/src/net/sf/openrocket/database/ComponentPresetDao.java @@ -1,45 +1,33 @@ package net.sf.openrocket.database; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; import java.util.List; -import net.sf.openrocket.file.preset.PresetCSVReader; import net.sf.openrocket.preset.ComponentPreset; -import net.sf.openrocket.preset.InvalidComponentPresetException; -import net.sf.openrocket.preset.TypedPropertyMap; -import net.sf.openrocket.util.BugException; -public class ComponentPresetDao { +public interface ComponentPresetDao { - private final List templates = new ArrayList(); - - // Package scope constructor to control creation pattern. - ComponentPresetDao() {} + public List listAll(); - void initialize() throws IOException { - - InputStream is = ComponentPresetDao.class.getResourceAsStream("/datafiles/bodytubepresets.csv"); - - PresetCSVReader parser = new PresetCSVReader(is); - List list = parser.parse(); - for( TypedPropertyMap o : list ) { - try { - ComponentPreset preset = ComponentPreset.create(o); - this.insert(preset); - } catch ( InvalidComponentPresetException ex ) { - throw new BugException( ex ); - } - } - } + public void insert( ComponentPreset preset ); + + public List listForType( ComponentPreset.Type type ); + + /** + * Return a list of component presets based on the type. + * All components returned will be of Type type. + * + * @param type + * @param favorite if true, only return the favorites. otherwise return all matching. + * @return + */ + public List listForType( ComponentPreset.Type type, boolean favorite ); + + public List listForTypes( ComponentPreset.Type ... type ); - public List listAll() { - return templates; - } + public List listForTypes( List types ); + + public void setFavorite( ComponentPreset preset, ComponentPreset.Type type, boolean favorite ); - public void insert( ComponentPreset preset ) { - templates.add(preset); - } + public List find( String manufacturer, String partNo ); -} +} \ No newline at end of file