3 import java.io.IOException;
6 import jalview.datamodel.SequenceI;
7 import jalview.ws.params.ArgumentI;
8 import jalview.ws.params.ParamDatastoreI;
9 import jalview.ws.params.WsParamSetI;
10 import jalview.ws2.operations.Operation;
13 * Provides information about the web service and sub-routines to submit, track
14 * and cancel the jobs running on the server as well as retrieve the results.
15 * The instances should not depend on any other jalview components, especially
16 * must be oblivious to the existence of any UI. They are used by other classes
17 * such as WebServiceWorkers rather than manipulate data themselves.
21 public interface WebServiceI
23 public String getHostName();
25 public String getProviderName();
27 public String getName();
29 public String getDescription();
31 public List<Operation> getOperations();
33 public boolean hasParameters();
35 public ParamDatastoreI getParamStore();
37 public String submit(List<SequenceI> sequences, List<ArgumentI> args)
40 public void updateProgress(WSJob job) throws IOException;
42 // public <T> ResultSupplier<T> getResultSupplier(Class<T> type);
44 public void cancel(WSJob job) throws IOException;
47 * Handle an exception that happened during job submission. If the exception
48 * was handled property by this method, it returns true. Otherwise, returns
49 * false indicating the exception should be handled by the caller.
51 public boolean handleSubmissionError(WSJob job, Exception ex);
53 public boolean handleCollectionError(WSJob job, Exception ex);