package ext_tools; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; import org.openstreetmap.josm.Main; public class ToolsInformation { String filename; ArrayList<ExtTool> tools = new ArrayList<>(); public ToolsInformation(String filename) { this.filename = filename; load(); } public void load() { try (BufferedReader rdr = new BufferedReader(new InputStreamReader( new FileInputStream(filename), "UTF-8"))) { StringBuilder sb = new StringBuilder(); String line; while ((line = rdr.readLine()) != null) { sb.append(line).append('\n'); if (line.equals("")) { tools.add(ExtTool.unserialize(sb.toString())); sb = new StringBuilder(); } } } catch (Exception e) { Main.warn("Ext_Tools warning: can not load file "+filename); } } public void save() { try (OutputStreamWriter w = new OutputStreamWriter(new FileOutputStream(filename), "UTF-8")) { for (ExtTool tool : tools) w.write(tool.serialize()); } catch (Exception e) { Main.warn("Ext_Tools warning: can not save file "+filename); } } public List<ExtTool> getToolsList() { return tools; } public void addTool(ExtTool tool) { tools.add(tool); } public void removeTool(ExtTool tool) { tool.setEnabled(false); tools.remove(tool); } }