Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: runtime/bin/directory.dart

Issue 10938010: Switch from interfaces to abstract classes in dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comments. Add test binaries. Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/bin/chunked_stream.dart ('k') | runtime/bin/file.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * [Directory] objects are used for working with directories. 6 * [Directory] objects are used for working with directories.
7 */ 7 */
8 interface Directory default _Directory { 8 abstract class Directory {
9 /** 9 /**
10 * Creates a directory object. The path is either an absolute path, 10 * Creates a directory object. The path is either an absolute path,
11 * or it is a relative path which is interpreted relative to the directory 11 * or it is a relative path which is interpreted relative to the directory
12 * in which the Dart VM was started. 12 * in which the Dart VM was started.
13 */ 13 */
14 Directory(String path); 14 factory Directory(String path) => new _Directory(path);
15 15
16 /** 16 /**
17 * Creates a directory object from a Path object. The path is either 17 * Creates a directory object from a Path object. The path is either
18 * an absolute path, or it is a relative path which is interpreted 18 * an absolute path, or it is a relative path which is interpreted
19 * relative to the directory in which the Dart VM was started. 19 * relative to the directory in which the Dart VM was started.
20 */ 20 */
21 Directory.fromPath(Path path); 21 factory Directory.fromPath(Path path) => new _Directory.fromPath(path);
22 22
23 /** 23 /**
24 * Creates a directory object pointing to the current working 24 * Creates a directory object pointing to the current working
25 * directory. 25 * directory.
26 */ 26 */
27 Directory.current(); 27 factory Directory.current() => new _Directory.current();
28 28
29 /** 29 /**
30 * Check whether a directory with this name already exists. Returns 30 * Check whether a directory with this name already exists. Returns
31 * a [:Future<bool>:] that completes with the result. 31 * a [:Future<bool>:] that completes with the result.
32 */ 32 */
33 Future<bool> exists(); 33 Future<bool> exists();
34 34
35 /** 35 /**
36 * Synchronously check whether a directory with this name already exists. 36 * Synchronously check whether a directory with this name already exists.
37 */ 37 */
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 */ 119 */
120 Directory renameSync(String newPath); 120 Directory renameSync(String newPath);
121 121
122 /** 122 /**
123 * List the sub-directories and files of this 123 * List the sub-directories and files of this
124 * [Directory]. Optionally recurse into sub-directories. Returns a 124 * [Directory]. Optionally recurse into sub-directories. Returns a
125 * [DirectoryLister] object representing the active listing 125 * [DirectoryLister] object representing the active listing
126 * operation. Handlers for files and directories should be 126 * operation. Handlers for files and directories should be
127 * registered on this DirectoryLister object. 127 * registered on this DirectoryLister object.
128 */ 128 */
129 DirectoryLister list([bool recursive]); 129 DirectoryLister list([bool recursive = false]);
130 130
131 /** 131 /**
132 * Gets the path of this directory. 132 * Gets the path of this directory.
133 */ 133 */
134 final String path; 134 final String path;
135 } 135 }
136 136
137 137
138 /** 138 /**
139 * A [DirectoryLister] represents an actively running listing operation. 139 * A [DirectoryLister] represents an actively running listing operation.
140 * 140 *
141 * For each file and directory, the file or directory handler is 141 * For each file and directory, the file or directory handler is
142 * called. When all directories have been listed the done handler is 142 * called. When all directories have been listed the done handler is
143 * called. If the listing operation is recursive, the error handler is 143 * called. If the listing operation is recursive, the error handler is
144 * called if a subdirectory cannot be opened for listing. 144 * called if a subdirectory cannot be opened for listing.
145 */ 145 */
146 interface DirectoryLister default _DirectoryLister { 146 abstract class DirectoryLister {
147 /** 147 /**
148 * Sets the directory handler that is called for all directories 148 * Sets the directory handler that is called for all directories
149 * during listing. The directory handler is called with the full 149 * during listing. The directory handler is called with the full
150 * path of the directory. 150 * path of the directory.
151 */ 151 */
152 void set onDir(void onDir(String dir)); 152 void set onDir(void onDir(String dir));
153 153
154 /** 154 /**
155 * Sets the handler that is called for all files during listing. The 155 * Sets the handler that is called for all files during listing. The
156 * file handler is called with the full path of the file. 156 * file handler is called with the full path of the file.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 if (path != null) { 192 if (path != null) {
193 sb.add(", path = $path"); 193 sb.add(", path = $path");
194 } 194 }
195 } 195 }
196 return sb.toString(); 196 return sb.toString();
197 } 197 }
198 final String message; 198 final String message;
199 final String path; 199 final String path;
200 final OSError osError; 200 final OSError osError;
201 } 201 }
OLDNEW
« no previous file with comments | « runtime/bin/chunked_stream.dart ('k') | runtime/bin/file.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698