JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / jalview / jsdev / GenericFileAdapter.js
1 Clazz.declarePackage ("jalview.jsdev");\r
2 Clazz.load (["jalview.io.AlignFile"], "jalview.jsdev.GenericFileAdapter", ["jalview.datamodel.AlignmentI", "jalview.io.FileParse", "java.io.BufferedReader", "$.InputStreamReader", "java.net.URL"], function () {\r
3 c$ = Clazz.declareType (jalview.jsdev, "GenericFileAdapter", jalview.io.AlignFile);\r
4 c$.getFile = Clazz.defineMethod (c$, "getFile", \r
5 function (fileType, params) {\r
6 var cl = null;\r
7 try {\r
8 cl = Clazz._4Name ("jalview.io." + fileType);\r
9 } catch (e) {\r
10 if (Clazz.exceptionOf (e, ClassNotFoundException)) {\r
11 System.err.println ("did not find file jalview.io." + fileType);\r
12 return null;\r
13 } else {\r
14 throw e;\r
15 }\r
16 }\r
17 var m;\r
18 var ex = null;\r
19 try {\r
20 switch (params.length) {\r
21 case 0:\r
22 return cl.newInstance ();\r
23 case 1:\r
24 m = (Clazz.instanceOf (params[0], jalview.io.FileParse) ? cl.getConstructor ([jalview.io.FileParse]) : cl.getConstructor ([jalview.datamodel.AlignmentI]));\r
25 break;\r
26 case 2:\r
27 m = cl.getConstructor ([String, String]);\r
28 break;\r
29 default:\r
30 return null;\r
31 }\r
32 return m.newInstance (params);\r
33 } catch (e$$) {\r
34 if (Clazz.exceptionOf (e$$, InstantiationException)) {\r
35 var e = e$$;\r
36 {\r
37 ex = e;\r
38 }\r
39 } else if (Clazz.exceptionOf (e$$, IllegalAccessException)) {\r
40 var e = e$$;\r
41 {\r
42 ex = e;\r
43 }\r
44 } else if (Clazz.exceptionOf (e$$, NoSuchMethodException)) {\r
45 var e = e$$;\r
46 {\r
47 ex = e;\r
48 }\r
49 } else if (Clazz.exceptionOf (e$$, SecurityException)) {\r
50 var e = e$$;\r
51 {\r
52 ex = e;\r
53 }\r
54 } else if (Clazz.exceptionOf (e$$, IllegalArgumentException)) {\r
55 var e = e$$;\r
56 {\r
57 ex = e;\r
58 }\r
59 } else if (Clazz.exceptionOf (e$$, java.lang.reflect.InvocationTargetException)) {\r
60 var e = e$$;\r
61 {\r
62 ex = e;\r
63 }\r
64 } else {\r
65 throw e$$;\r
66 }\r
67 }\r
68 if (ex != null) {\r
69 System.err.println ("Error in GenericFileAdapter: " + ex);\r
70 {\r
71 alert(ex)\r
72 }}return null;\r
73 }, "~S,~A");\r
74 c$.isJS = Clazz.defineMethod (c$, "isJS", \r
75 function () {\r
76 {\r
77 return true;\r
78 }});\r
79 c$.getReader = Clazz.defineMethod (c$, "getReader", \r
80 function (fileName, forceURL) {\r
81 if (!forceURL && !jalview.jsdev.GenericFileAdapter.isJS ()) return  new java.io.BufferedReader ( new java.io.FileReader (fileName));\r
82 if (fileName.indexOf ("//") < 0) fileName = "file://" + fileName;\r
83 return  new java.io.BufferedReader ( new java.io.InputStreamReader ( new java.net.URL (fileName).openStream ()));\r
84 }, "~S,~B");\r
85 });\r