blob: 0d6c30c35d43651cf5e297227cf0b6429bf4e3fb [file] [log] [blame]
// 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 'sandbox.dart';
/// A declarative description of a filesystem entry.
///
/// This may be extended outside this package.
abstract class Descriptor {
/// This entry's basename.
final String name;
Descriptor(this.name);
/// Creates this entry within the [parent] directory, which defaults to
/// [sandbox].
Future<void> create([String? parent]);
/// Validates that the physical file system under [parent] (which defaults to
/// [sandbox]) contains an entry that matches this descriptor.
Future<void> validate([String? parent]);
/// Returns a human-friendly tree-style description of this descriptor.
String describe();
}