JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / src / javajs / util / AjaxURLStreamHandler.java
1 package javajs.util;\r
2 \r
3 import java.io.IOException;\r
4 import java.net.URL;\r
5 import java.net.URLConnection;\r
6 import java.net.URLStreamHandler;\r
7 \r
8 \r
9 \r
10 /**\r
11  * \r
12  * A method to allow a JavaScript AJAX adapter to \r
13  * deliver web content to JSmol. This handler is just a formality.\r
14  * \r
15  */\r
16 public class AjaxURLStreamHandler extends URLStreamHandler {\r
17 \r
18         String protocol;\r
19 \r
20         public AjaxURLStreamHandler(String protocol) {\r
21                 this.protocol = protocol;\r
22         }\r
23 \r
24         @Override\r
25         protected URLConnection openConnection(URL url) throws IOException {\r
26                 return new AjaxURLConnection(url);\r
27         }\r
28 \r
29 \r
30   @Override\r
31   protected String toExternalForm(URL u) {\r
32     SB result = new SB();\r
33     result.append(u.getProtocol());\r
34     result.append(":");\r
35     if (u.getAuthority() != null && u.getAuthority().length() > 0) {\r
36       result.append("//");\r
37       result.append(u.getAuthority());\r
38     }\r
39     if (u.getPath() != null) {\r
40       result.append(u.getPath());\r
41     }\r
42     if (u.getQuery() != null) {\r
43       result.append("?");\r
44       result.append(u.getQuery());\r
45     }\r
46     if (u.getRef() != null) {\r
47       result.append("#");\r
48       result.append(u.getRef());\r
49     }\r
50     return result.toString();\r
51   }\r
52 \r
53 }\r