JAL-3026 fixes MigLayout, JSON parser
[jalview.git] / src / jalview / javascript / web / WebResource.java
1 package jalview.javascript.web;
2
3 import java.net.URI;
4 import java.net.URISyntaxException;
5
6 /* this class is a proxy for 
7  * 
8  */
9 public class WebResource
10 {
11
12   private String endpoint, params = "";
13   
14   public WebResource(String endpoint) {
15     this.endpoint = endpoint;
16   }
17   
18
19   public WebResource queryParam(String key, String value)
20   {
21     params += (params == "" ? "?" : "&") + key + "=";
22     /**
23      * @j2sNative
24      * value = encodeURIComponent(value);
25      */
26     params += value;
27     return this;
28   }
29
30   public URI getURI()
31   {
32     try
33     {
34       return new URI(endpoint + params);
35     } catch (URISyntaxException e)
36     {
37       e.printStackTrace();
38       return null;
39     }
40   }
41
42   public Builder accept(String... encoding)
43   {
44     return  new Builder(getURI(), encoding);
45   }
46   
47   
48   public static class Builder {
49       private URI uri;
50       private String[] encoding;
51
52       public Builder(URI uri, String... encoding)
53     {
54         this.uri = uri;
55         this.encoding = encoding; // application/json
56         
57       // TODO Auto-generated constructor stub
58     }
59
60       public ClientResponse get(Class<?> c) {
61         String data = uri.toString();
62         // c will be ClientResponse 
63         data = /** @j2sNative swingjs.JSUtil.getFileAsString$S(data) || */ null;
64         return new ClientResponse(data, encoding);
65       }
66   }
67  
68   
69   
70
71 }