Merge branch 'develop' into feature/JAL-3390hideUnmappedStructure
[jalview.git] / unused / javajs / util / AjaxURLStreamHandlerFactory.java
diff --git a/unused/javajs/util/AjaxURLStreamHandlerFactory.java b/unused/javajs/util/AjaxURLStreamHandlerFactory.java
new file mode 100644 (file)
index 0000000..ef903a2
--- /dev/null
@@ -0,0 +1,31 @@
+package javajs.util;
+
+import java.net.URLStreamHandler;
+import java.net.URLStreamHandlerFactory;
+import java.util.Hashtable;
+import java.util.Map;
+
+
+/**
+ * 
+ * For handling URL file IO via AJAX in JavaScript version
+ * 
+ */
+
+public class AjaxURLStreamHandlerFactory implements URLStreamHandlerFactory {
+
+       Map<String, AjaxURLStreamHandler> htFactories = new Hashtable<String, AjaxURLStreamHandler>();
+       
+       public AjaxURLStreamHandlerFactory() {
+        // for reflection;
+       }
+       
+       @Override
+  public URLStreamHandler createURLStreamHandler(String protocol) {
+               AjaxURLStreamHandler fac = htFactories.get(protocol);
+               if (fac == null)
+                       htFactories.put(protocol, fac = new AjaxURLStreamHandler(protocol));
+               return (fac.protocol == null ? null : fac);
+       }
+
+}