OLD | NEW |
| (Empty) |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 part of dart.core; | |
6 | |
7 /** | |
8 * A resource that can be read into the program. | |
9 * | |
10 * WARNING: This API is _experimental_, | |
11 * and it may be changed or removed in future releases | |
12 * | |
13 * A resource is data that can be located using a URI and read into | |
14 * the program at runtime. | |
15 * The URI may use the `package` scheme to read resources provided | |
16 * along with package sources. | |
17 */ | |
18 abstract class Resource { | |
19 /** | |
20 * Creates a resource object with the given [uri] as location. | |
21 * | |
22 * The `uri` is a string containing a valid URI. | |
23 * If the string is not a valid URI, using any of the functions on | |
24 * the resource object will fail. | |
25 * | |
26 * The URI may be relative, in which case it will be resolved | |
27 * against [Uri.base] before being used. | |
28 * | |
29 * The URI may use the `package` scheme, which is always supported. | |
30 * Other schemes may also be supported where possible. | |
31 */ | |
32 external const factory Resource(String uri); | |
33 | |
34 /** | |
35 * The location `uri` of this resource. | |
36 * | |
37 * This is a [Uri] of the `uri` parameter given to the constructor. | |
38 * If the parameter was not a valid URI, reading `uri` may fail. | |
39 */ | |
40 Uri get uri; | |
41 | |
42 /** Read the resource content as a stream of bytes. */ | |
43 Stream<List<int>> openRead(); | |
44 | |
45 /** Read the resource content. */ | |
46 Future<List<int>> readAsBytes(); | |
47 | |
48 /** | |
49 * Read the resource content as a string. | |
50 * | |
51 * The content is decoded into a string using an [Encoding]. | |
52 * If no other encoding is provided, it defaults to UTF-8. | |
53 */ | |
54 Future<String> readAsString({Encoding encoding}); | |
55 } | |
OLD | NEW |