abstracted GUI to use jalview.ws.params objects (JAL-591, JAL-633)
[jalview.git] / src / jalview / ws / params / ParamDatastoreI.java
diff --git a/src/jalview/ws/params/ParamDatastoreI.java b/src/jalview/ws/params/ParamDatastoreI.java
new file mode 100644 (file)
index 0000000..217de90
--- /dev/null
@@ -0,0 +1,35 @@
+package jalview.ws.params;
+
+import java.io.IOException;
+import java.util.List;
+
+public interface ParamDatastoreI 
+{
+
+  public List<WsParamSetI> getPresets();
+
+  public WsParamSetI getPreset(String name);
+
+  public List<ArgumentI> getServiceParameters();
+
+  public boolean presetExists(String name);
+
+  public void deletePreset(String name);
+
+  /**
+   * writes or overwrites the record for a modifiable WsParamSetI entry in the datastore.
+   * @param presetName
+   * @param text
+   * @param jobParams
+   * may throw an illegal argument RunTimeException if the presetName overwrites an existing, unmodifiable preset.
+   */
+  public void storePreset(String presetName, String text,
+          List<ArgumentI> jobParams);
+
+  public boolean readParamSet(WsParamSetI wsp, java.io.Reader reader)
+          throws IOException;
+
+  public boolean writeParamSet(WsParamSetI wsp, java.io.Writer writer)
+          throws IOException;
+
+}