| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| import 'dart:async'; |
| |
| import '../io.dart' as io; |
| |
| import 'directory.dart'; |
| import 'file_system.dart'; |
| |
| /// The common super class for [io.File], [io.Directory], and [io.Link] objects. |
| abstract class FileSystemEntity implements io.FileSystemEntity { |
| /// Returns the file system responsible for this entity. |
| FileSystem get fileSystem; |
| |
| /// Gets the part of this entity's path after the last separator. |
| /// |
| /// context.basename('path/to/foo.dart'); // -> 'foo.dart' |
| /// context.basename('path/to'); // -> 'to' |
| /// |
| /// Trailing separators are ignored. |
| /// |
| /// context.basename('path/to/'); // -> 'to' |
| String get basename; |
| |
| /// Gets the part of this entity's path before the last separator. |
| /// |
| /// context.dirname('path/to/foo.dart'); // -> 'path/to' |
| /// context.dirname('path/to'); // -> 'path' |
| /// context.dirname('foo.dart'); // -> '.' |
| /// |
| /// Trailing separators are ignored. |
| /// |
| /// context.dirname('path/to/'); // -> 'path' |
| String get dirname; |
| |
| // Override method definitions to codify the return type covariance. |
| @override |
| Future<FileSystemEntity> delete({bool recursive = false}); |
| |
| @override |
| Directory get parent; |
| } |