69bc93ca722c21aeb9521af820a68329ba10f32b
[jalview.git] / src / jalview / ws / rest / params / Tree.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3  * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.ws.rest.params;
19
20 import jalview.ws.params.OptionI;
21 import jalview.ws.rest.InputType;
22 import jalview.ws.rest.RestJob;
23
24 import java.io.UnsupportedEncodingException;
25 import java.util.ArrayList;
26 import java.util.List;
27
28 import org.apache.http.entity.mime.content.ContentBody;
29
30 /**
31  * format a tree for input to a rest service
32  * 
33  * @author JimP
34  * 
35  */
36 public class Tree extends InputType
37 {
38   public Tree()
39   {
40     super(new Class[]
41     { jalview.analysis.NJTree.class });
42   }
43
44   // TODO specify modifiers for tree output format
45   @Override
46   public ContentBody formatForInput(RestJob rj)
47           throws UnsupportedEncodingException
48   {
49     // TODO: implement tree inputType
50     /*
51      * rj.getTreeForInput(token); return new StringBody(new )
52      */
53     throw new Error("Tree InputType not yet implemented");
54     // return null;
55   }
56
57   public String getURLtokenPrefix()
58   {
59     return "NEWICK";
60   }
61
62   @Override
63   public List<String> getURLEncodedParameter()
64   {
65     ArrayList<String> prms = new ArrayList<String>();
66     super.addBaseParams(prms);
67     return prms;
68   }
69
70   @Override
71   public boolean configureProperty(String tok, String val,
72           StringBuffer warnings)
73   {
74     return true;
75   }
76
77   @Override
78   public List<OptionI> getOptions()
79   {
80     return getBaseOptions();
81   }
82
83 }