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
24 Clazz.overrideMethod (c$, "accept",
\r
27 if (f.isDirectory ()) {
\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
39 Clazz.overrideMethod (c$, "getDescription",
\r
41 return this.description;
\r
43 Clazz.defineMethod (c$, "getExtensions",
\r
45 var result = new Array (this.extensions.length);
\r
46 System.arraycopy (this.extensions, 0, result, 0, this.extensions.length);
\r
49 Clazz.defineMethod (c$, "toString",
\r
51 return Clazz.superCall (this, javax.swing.filechooser.FileNameExtensionFilter, "toString", []) + "[description=" + this.getDescription () + " extensions=" + java.util.Arrays.asList (this.getExtensions ()) + "]";
\r