1 Clazz.declarePackage ("jssun.awt.shell");
\r
2 Clazz.load (["java.io.File"], "jssun.awt.shell.ShellFolder", ["java.io.FileNotFoundException", "java.lang.Error", "java.util.Vector", "java.awt.Toolkit", "jssun.awt.shell.ShellFolderManager"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
5 Clazz.instantialize (this, arguments);
\r
6 }, jssun.awt.shell, "ShellFolder", java.io.File);
\r
7 Clazz.makeConstructor (c$,
\r
8 function (parent, pathname) {
\r
9 Clazz.superConstructor (this, jssun.awt.shell.ShellFolder, [(pathname != null) ? pathname : "ShellFolder"]);
\r
10 this.parent = parent;
\r
11 }, "jssun.awt.shell.ShellFolder,~S");
\r
12 Clazz.defineMethod (c$, "isFileSystem",
\r
14 return (!this.getPath ().startsWith ("ShellFolder"));
\r
16 Clazz.defineMethod (c$, "getParent",
\r
18 if (this.parent == null && this.isFileSystem ()) {
\r
19 return Clazz.superCall (this, jssun.awt.shell.ShellFolder, "getParent", []);
\r
20 }if (this.parent != null) {
\r
21 return (this.parent.getPath ());
\r
25 Clazz.defineMethod (c$, "getParentFile",
\r
27 if (this.parent != null) {
\r
29 } else if (this.isFileSystem ()) {
\r
30 return Clazz.superCall (this, jssun.awt.shell.ShellFolder, "getParentFile", []);
\r
34 Clazz.defineMethod (c$, "listFiles",
\r
36 return this.listFiles (true);
\r
38 Clazz.defineMethod (c$, "listFiles",
\r
39 function (includeHiddenFiles) {
\r
40 var files = Clazz.superCall (this, jssun.awt.shell.ShellFolder, "listFiles", []);
\r
41 if (!includeHiddenFiles) {
\r
42 var v = new java.util.Vector ();
\r
43 var nameCount = (files == null) ? 0 : files.length;
\r
44 for (var i = 0; i < nameCount; i++) {
\r
45 if (!files[i].isHidden ()) {
\r
46 v.addElement (files[i]);
\r
48 files = v.toArray ( new Array (v.size ()));
\r
51 Clazz.defineMethod (c$, "compareTo",
\r
53 if (file2 == null || !(Clazz.instanceOf (file2, jssun.awt.shell.ShellFolder)) || ((Clazz.instanceOf (file2, jssun.awt.shell.ShellFolder)) && (file2).isFileSystem ())) {
\r
54 if (this.isFileSystem ()) {
\r
55 return Clazz.superCall (this, jssun.awt.shell.ShellFolder, "compareTo", [file2]);
\r
59 if (this.isFileSystem ()) {
\r
62 return this.getName ().compareTo (file2.getName ());
\r
63 }}}, "java.io.File");
\r
64 Clazz.defineMethod (c$, "getIcon",
\r
65 function (getLargeIcon) {
\r
68 c$.getShellFolder = Clazz.defineMethod (c$, "getShellFolder",
\r
70 if (Clazz.instanceOf (file, jssun.awt.shell.ShellFolder)) {
\r
72 }if (!file.exists ()) {
\r
73 throw new java.io.FileNotFoundException ();
\r
74 }return jssun.awt.shell.ShellFolder.shellFolderManager.createShellFolder (file);
\r
76 c$.get = Clazz.defineMethod (c$, "get",
\r
78 return jssun.awt.shell.ShellFolder.shellFolderManager.get (key);
\r
80 c$.isComputerNode = Clazz.defineMethod (c$, "isComputerNode",
\r
82 return jssun.awt.shell.ShellFolder.shellFolderManager.isComputerNode (dir);
\r
84 c$.isFileSystemRoot = Clazz.defineMethod (c$, "isFileSystemRoot",
\r
86 return jssun.awt.shell.ShellFolder.shellFolderManager.isFileSystemRoot (dir);
\r
88 c$.getNormalizedFile = Clazz.defineMethod (c$, "getNormalizedFile",
\r
90 var canonical = f.getCanonicalFile ();
\r
91 if (f.equals (canonical)) {
\r
93 }return new java.io.File (f.toURI ().normalize ());
\r
95 c$.sortFiles = Clazz.defineMethod (c$, "sortFiles",
\r
97 jssun.awt.shell.ShellFolder.shellFolderManager.sortFiles (files);
\r
98 }, "java.util.List");
\r
99 Clazz.defineMethod (c$, "isAbsolute",
\r
101 return (!this.isFileSystem () || Clazz.superCall (this, jssun.awt.shell.ShellFolder, "isAbsolute", []));
\r
103 Clazz.defineMethod (c$, "getAbsoluteFile",
\r
105 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "getAbsoluteFile", []) : this);
\r
107 Clazz.defineMethod (c$, "canRead",
\r
109 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "canRead", []) : true);
\r
111 Clazz.defineMethod (c$, "canWrite",
\r
113 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "canWrite", []) : false);
\r
115 Clazz.defineMethod (c$, "exists",
\r
117 return (!this.isFileSystem () || jssun.awt.shell.ShellFolder.isFileSystemRoot (this) || Clazz.superCall (this, jssun.awt.shell.ShellFolder, "exists", []));
\r
119 Clazz.defineMethod (c$, "isDirectory",
\r
121 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "isDirectory", []) : true);
\r
123 Clazz.defineMethod (c$, "isFile",
\r
125 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "isFile", []) : !this.isDirectory ());
\r
127 Clazz.defineMethod (c$, "lastModified",
\r
129 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "lastModified", []) : 0);
\r
131 Clazz.defineMethod (c$, "length",
\r
133 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "length", []) : 0);
\r
135 Clazz.defineMethod (c$, "createNewFile",
\r
137 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "createNewFile", []) : false);
\r
139 Clazz.defineMethod (c$, "$delete",
\r
141 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "delete", []) : false);
\r
143 Clazz.defineMethod (c$, "deleteOnExit",
\r
145 if (this.isFileSystem ()) {
\r
146 Clazz.superCall (this, jssun.awt.shell.ShellFolder, "deleteOnExit", []);
\r
149 Clazz.defineMethod (c$, "mkdir",
\r
151 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "mkdir", []) : false);
\r
153 Clazz.defineMethod (c$, "mkdirs",
\r
155 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "mkdirs", []) : false);
\r
157 Clazz.defineMethod (c$, "renameTo",
\r
159 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "renameTo", [dest]) : false);
\r
160 }, "java.io.File");
\r
161 Clazz.defineMethod (c$, "setLastModified",
\r
163 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "setLastModified", [time]) : false);
\r
165 Clazz.defineMethod (c$, "setReadOnly",
\r
167 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "setReadOnly", []) : false);
\r
169 Clazz.defineMethod (c$, "toString",
\r
171 return (this.isFileSystem () ? Clazz.superCall (this, jssun.awt.shell.ShellFolder, "toString", []) : this.getDisplayName ());
\r
173 c$.getFolderColumns = Clazz.defineMethod (c$, "getFolderColumns",
\r
175 return jssun.awt.shell.ShellFolder.shellFolderManager.getFolderColumns (dir);
\r
176 }, "java.io.File");
\r
177 c$.getFolderColumnValue = Clazz.defineMethod (c$, "getFolderColumnValue",
\r
178 function (file, column) {
\r
179 return jssun.awt.shell.ShellFolder.shellFolderManager.getFolderColumnValue (file, column);
\r
180 }, "java.io.File,~N");
\r
181 Clazz.defineMethod (c$, "getFolderColumns",
\r
185 Clazz.defineMethod (c$, "getFolderColumnValue",
\r
186 function (column) {
\r
189 Clazz.defineStatics (c$,
\r
190 "shellFolderManager", null);
\r
192 var managerClass = java.awt.Toolkit.getDefaultToolkit ().getDesktopProperty ("Shell.shellFolderManager");
\r
193 if (managerClass == null) {
\r
194 managerClass = jssun.awt.shell.ShellFolderManager;
\r
196 jssun.awt.shell.ShellFolder.shellFolderManager = managerClass.newInstance ();
\r
198 if (Clazz.exceptionOf (e$$, InstantiationException)) {
\r
201 throw new Error ("Could not instantiate Shell Folder Manager: " + managerClass.getName ());
\r
203 } else if (Clazz.exceptionOf (e$$, IllegalAccessException)) {
\r
206 throw new Error ("Could not access Shell Folder Manager: " + managerClass.getName ());
\r