9f0d4d8a78849660b93b8ee597ff651d787edb43
[jabaws.git] / webservices / compbio / data / msa / FoldWS.java
1 package compbio.data.msa;
2
3 import java.security.InvalidParameterException;
4 import java.util.List;
5
6 import javax.jws.WebMethod;
7 import javax.jws.WebParam;
8 import javax.jws.WebService;
9 import javax.naming.ldap.UnsolicitedNotificationEvent;
10
11 import compbio.data.sequence.Alignment;
12 import compbio.data.sequence.RNAstruct;
13 import compbio.metadata.JobSubmissionException;
14 import compbio.metadata.LimitExceededException;
15 import compbio.metadata.Option;
16 import compbio.metadata.Preset;
17 import compbio.metadata.ResultNotAvailableException;
18 import compbio.metadata.UnsupportedRuntimeException;
19 import compbio.metadata.WrongParameterException;
20
21 /*
22  * Interface for tools that results RNA secondary structure information
23  * 
24  * Still Unsure whether It would be better to use just the aligned fastaList
25  * or the Alignment object 
26  */
27
28 // effect of a different targetNamespace?
29 @WebService(targetNamespace = "http://msa.data.compbio/01/01/2010/")
30 public interface FoldWS<T> 
31                 extends 
32                         JABAService,
33                         JManagement,
34                         Metadata<T> {
35
36         
37         // Is Alignment object JaxB compatible?
38         
39         String fold(
40                         @WebParam(name = "alignment") Alignment alignment)
41                         throws UnsupportedRuntimeException, LimitExceededException,
42                         JobSubmissionException;
43         
44         String customFold(
45                         @WebParam(name = "alignment") Alignment alignment,
46                         @WebParam(name = "options") List<Option<T>> options)
47                         throws UnsupportedRuntimeException, LimitExceededException,
48                         JobSubmissionException, WrongParameterException;
49         
50         String presetFold(
51                         @WebParam(name = "alignment") Alignment alignment,
52                         @WebParam(name = "preset") Preset<T> preset)
53                         throws UnsupportedRuntimeException, LimitExceededException,
54                         JobSubmissionException, WrongParameterException;
55         
56         RNAstruct getResult(@WebParam(name = "jobId") String jobId)
57                 throws ResultNotAvailableException;
58                         
59 }