JAL-591
[jalview.git] / src / jalview / ws / params / ParamDatastoreI.java
index 217de90..78ca8fc 100644 (file)
@@ -3,7 +3,7 @@ package jalview.ws.params;
 import java.io.IOException;
 import java.util.List;
 
-public interface ParamDatastoreI 
+public interface ParamDatastoreI
 {
 
   public List<WsParamSetI> getPresets();
@@ -17,19 +17,54 @@ public interface ParamDatastoreI
   public void deletePreset(String name);
 
   /**
-   * writes or overwrites the record for a modifiable WsParamSetI entry in the datastore.
+   * writes or overwrites the record for a modifiable WsParamSetI entry with a given name in the
+   * datastore.
+   * 
    * @param presetName
    * @param text
    * @param jobParams
-   * may throw an illegal argument RunTimeException if the presetName overwrites an existing, unmodifiable preset.
+   *          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)
+  /**
+   * update an existing instance with a new name, descriptive text and parameters.
+   * @param oldName
+   * @param presetName
+   * @param text
+   * @param jobParams
+   */
+  public void updatePreset(String oldName, String presetName, String text,
+           List<ArgumentI> jobParams);
+
+  /**
+   * factory method - builds a service specific parameter object using the given
+   * data
+   * 
+   * @param name
+   * @param description
+   * @param applicable
+   *          URLs
+   * @param parameterfile
+   *          Service specific jalview parameter file (as returned from new
+   *          method)
+   * @return null or valid WsParamSetI object for this service.
+   */
+
+  public WsParamSetI parseServiceParameterFile(String name,
+          String description, String[] serviceURL, String parameters)
           throws IOException;
 
-  public boolean writeParamSet(WsParamSetI wsp, java.io.Writer writer)
+  /**
+   * create the service specific parameter file for this pset object.
+   * 
+   * @param pset
+   * @return string representation of the parameters specified by this set.
+   * @throws IOException
+   */
+  public String generateServiceParameterFile(WsParamSetI pset)
           throws IOException;
 
 }