abstracted GUI to use jalview.ws.params objects (JAL-591, JAL-633)
[jalview.git] / src / jalview / ws / params / WsParamSetI.java
1 /**
2  * 
3  */
4 package jalview.ws.params;
5
6 import java.util.List;
7
8 /**
9  * A web service parameter set
10  *
11  */
12 public interface WsParamSetI
13 {
14   /**
15    * Human readable name for parameter set
16    * @return unique string (given applicable URLs)
17    */
18   public String getName();
19   /**
20    * @return notes about this parameter set
21    */
22   public String getDescription();
23   /**
24    * the service endpoints for which this parameter set is valid
25    * @return one or more URLs
26    */
27   public String[] getApplicableUrls();
28   /**
29    * 
30    * @return null, or the file used to store this parameter set.
31    */
32   public String getSourceFile();
33   
34   /**
35    * set the filename used to store this parameter set.
36    * @newfile 
37    */
38   public void setSourceFile(String newfile);
39   /**
40    * is this a preset or a user modifiable parameter set
41    * @return true if set can be modified
42    */
43   public boolean isModifiable();
44   /**
45    * 
46    * @return arguments in preset
47    */
48   List<ArgumentI> getArguments(); 
49   /**
50    * set the arguments for the preset. Should this preset instance be unmodifiable, an Error should be thrown.
51    * @param args
52    */
53   public void setArguments(List<ArgumentI> args);
54 }