abstracted GUI to use jalview.ws.params objects (JAL-591, JAL-633)
[jalview.git] / src / jalview / ws / params / WsParamSetI.java
diff --git a/src/jalview/ws/params/WsParamSetI.java b/src/jalview/ws/params/WsParamSetI.java
new file mode 100644 (file)
index 0000000..0f84c76
--- /dev/null
@@ -0,0 +1,54 @@
+/**
+ * 
+ */
+package jalview.ws.params;
+
+import java.util.List;
+
+/**
+ * A web service parameter set
+ *
+ */
+public interface WsParamSetI
+{
+  /**
+   * Human readable name for parameter set
+   * @return unique string (given applicable URLs)
+   */
+  public String getName();
+  /**
+   * @return notes about this parameter set
+   */
+  public String getDescription();
+  /**
+   * the service endpoints for which this parameter set is valid
+   * @return one or more URLs
+   */
+  public String[] getApplicableUrls();
+  /**
+   * 
+   * @return null, or the file used to store this parameter set.
+   */
+  public String getSourceFile();
+  
+  /**
+   * set the filename used to store this parameter set.
+   * @newfile 
+   */
+  public void setSourceFile(String newfile);
+  /**
+   * is this a preset or a user modifiable parameter set
+   * @return true if set can be modified
+   */
+  public boolean isModifiable();
+  /**
+   * 
+   * @return arguments in preset
+   */
+  List<ArgumentI> getArguments(); 
+  /**
+   * set the arguments for the preset. Should this preset instance be unmodifiable, an Error should be thrown.
+   * @param args
+   */
+  public void setArguments(List<ArgumentI> args);
+}