JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / javax / swing / filechooser / FileNameExtensionFilter.js
1 Clazz.declarePackage ("javax.swing.filechooser");\r
2 Clazz.load (["javax.swing.filechooser.FileFilter"], "javax.swing.filechooser.FileNameExtensionFilter", ["java.lang.IllegalArgumentException", "java.util.Arrays"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.description = null;\r
5 this.extensions = null;\r
6 this.lowerCaseExtensions = null;\r
7 Clazz.instantialize (this, arguments);\r
8 }, javax.swing.filechooser, "FileNameExtensionFilter", javax.swing.filechooser.FileFilter);\r
9 Clazz.makeConstructor (c$, \r
10 function (description, extensions) {\r
11 Clazz.superConstructor (this, javax.swing.filechooser.FileNameExtensionFilter, []);\r
12 if (extensions == null || extensions.length == 0) {\r
13 throw  new IllegalArgumentException ("Extensions must be non-null and not empty");\r
14 }this.description = description;\r
15 this.extensions =  new Array (extensions.length);\r
16 this.lowerCaseExtensions =  new Array (extensions.length);\r
17 for (var i = 0; i < extensions.length; i++) {\r
18 if (extensions[i] == null || extensions[i].length == 0) {\r
19 throw  new IllegalArgumentException ("Each extension must be non-null and not empty");\r
20 }this.extensions[i] = extensions[i];\r
21 this.lowerCaseExtensions[i] = extensions[i].toLowerCase ();\r
22 }\r
23 }, "~S,~A");\r
24 Clazz.overrideMethod (c$, "accept", \r
25 function (f) {\r
26 if (f != null) {\r
27 if (f.isDirectory ()) {\r
28 return true;\r
29 }var fileName = f.getName ();\r
30 var i = fileName.lastIndexOf ('.');\r
31 if (i > 0 && i < fileName.length - 1) {\r
32 var desiredExtension = fileName.substring (i + 1).toLowerCase ();\r
33 for (var extension, $extension = 0, $$extension = this.lowerCaseExtensions; $extension < $$extension.length && ((extension = $$extension[$extension]) || true); $extension++) {\r
34 if (desiredExtension.equals (extension)) {\r
35 return true;\r
36 }}\r
37 }}return false;\r
38 }, "java.io.File");\r
39 Clazz.overrideMethod (c$, "getDescription", \r
40 function () {\r
41 return this.description;\r
42 });\r
43 Clazz.defineMethod (c$, "getExtensions", \r
44 function () {\r
45 var result =  new Array (this.extensions.length);\r
46 System.arraycopy (this.extensions, 0, result, 0, this.extensions.length);\r
47 return result;\r
48 });\r
49 Clazz.defineMethod (c$, "toString", \r
50 function () {\r
51 return Clazz.superCall (this, javax.swing.filechooser.FileNameExtensionFilter, "toString", []) + "[description=" + this.getDescription () + " extensions=" + java.util.Arrays.asList (this.getExtensions ()) + "]";\r
52 });\r
53 });\r