9bdaed176b1ceae303344e70dba9dff82771a70e
[jalview.git] / src / jalview / ws / rest / params / SeqIdVector.java
1 package jalview.ws.rest.params;
2
3 import jalview.datamodel.AlignmentI;
4 import jalview.datamodel.SequenceI;
5 import jalview.ws.rest.InputType;
6 import jalview.ws.rest.NoValidInputDataException;
7 import jalview.ws.rest.RestJob;
8 import jalview.ws.rest.InputType.molType;
9
10 import java.io.UnsupportedEncodingException;
11
12 import org.apache.http.entity.mime.content.ContentBody;
13 import org.apache.http.entity.mime.content.StringBody;
14
15 /**
16  * input a list of sequence IDs separated by some separator 
17  * @author JimP
18  *
19  */
20 class SeqIdVector extends InputType {
21   public SeqIdVector()
22   {
23     super(new Class[] { AlignmentI.class} );
24   }
25
26   /**
27    * separator for list of sequence IDs - default is ','
28    */
29   String sep=",";
30   molType type;
31   @Override
32   public ContentBody formatForInput(RestJob rj) throws UnsupportedEncodingException, NoValidInputDataException
33   {
34     StringBuffer idvector = new StringBuffer();
35     boolean list=false;
36     for (SequenceI seq:rj.getSequencesForInput(token, type))
37     {
38       if (list)
39       {
40         idvector.append(sep);
41       }
42       idvector.append(seq.getName());
43     }
44     return new StringBody(idvector.toString());
45   }
46 }