JAL-2089 patch broken merge to master for Release 2.10.0b1
[jalview.git] / src / jalview / ws / params / ParamDatastoreI.java
index 217de90..8d28ee5 100644 (file)
@@ -1,9 +1,29 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.ws.params;
 
 import java.io.IOException;
 import java.util.List;
 
-public interface ParamDatastoreI 
+public interface ParamDatastoreI
 {
 
   public List<WsParamSetI> getPresets();
@@ -17,19 +37,56 @@ 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;
 
 }