OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 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 | 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 library async.delegate.sink; | |
6 | |
7 /// Simple delegating wrapper around a [Sink]. | 5 /// Simple delegating wrapper around a [Sink]. |
8 /// | 6 /// |
9 /// Subclasses can override individual methods, or use this to expose only the | 7 /// Subclasses can override individual methods, or use this to expose only the |
10 /// [Sink] methods of a subclass. | 8 /// [Sink] methods of a subclass. |
11 class DelegatingSink<T> implements Sink<T> { | 9 class DelegatingSink<T> implements Sink<T> { |
12 final Sink _sink; | 10 final Sink _sink; |
13 | 11 |
14 /// Create a delegating sink forwarding calls to [sink]. | 12 /// Create a delegating sink forwarding calls to [sink]. |
15 DelegatingSink(Sink sink) | 13 DelegatingSink(Sink sink) |
16 : _sink = sink; | 14 : _sink = sink; |
17 | 15 |
18 void add(T data) { | 16 void add(T data) { |
19 _sink.add(data); | 17 _sink.add(data); |
20 } | 18 } |
21 | 19 |
22 void close() { | 20 void close() { |
23 _sink.close(); | 21 _sink.close(); |
24 } | 22 } |
25 } | 23 } |
OLD | NEW |