X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=srcjar%2Fjavajs%2Futil%2FAjaxURLStreamHandler.java;fp=srcjar%2Fjavajs%2Futil%2FAjaxURLStreamHandler.java;h=3d6d4d7b491247606940fc1ea135f8ea1949f5d7;hp=0000000000000000000000000000000000000000;hb=98638423b556672dbb6c3a815d99ff1cab884388;hpb=0ddbb5cb5c0ae3e53d344c624c717d5ca3085d5f diff --git a/srcjar/javajs/util/AjaxURLStreamHandler.java b/srcjar/javajs/util/AjaxURLStreamHandler.java new file mode 100644 index 0000000..3d6d4d7 --- /dev/null +++ b/srcjar/javajs/util/AjaxURLStreamHandler.java @@ -0,0 +1,53 @@ +package javajs.util; + +import java.io.IOException; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLStreamHandler; + + + +/** + * + * A method to allow a JavaScript AJAX adapter to + * deliver web content to JSmol. This handler is just a formality. + * + */ +public class AjaxURLStreamHandler extends URLStreamHandler { + + String protocol; + + public AjaxURLStreamHandler(String protocol) { + this.protocol = protocol; + } + + @Override + protected URLConnection openConnection(URL url) throws IOException { + return new AjaxURLConnection(url); + } + + + @Override + protected String toExternalForm(URL u) { + SB result = new SB(); + result.append(u.getProtocol()); + result.append(":"); + if (u.getAuthority() != null && u.getAuthority().length() > 0) { + result.append("//"); + result.append(u.getAuthority()); + } + if (u.getPath() != null) { + result.append(u.getPath()); + } + if (u.getQuery() != null) { + result.append("?"); + result.append(u.getQuery()); + } + if (u.getRef() != null) { + result.append("#"); + result.append(u.getRef()); + } + return result.toString(); + } + +}