| // Copyright (c) 2014, 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. |
| |
| part of dart.core; |
| |
| /// A generic destination for data. |
| /// |
| /// Multiple data values can be put into a sink, and when no more data is |
| /// available, the sink should be closed. |
| /// |
| /// This is a generic interface that other data receivers can implement. |
| abstract class Sink<T> { |
| /// Adds [data] to the sink. |
| /// |
| /// Must not be called after a call to [close]. |
| void add(T data); |
| |
| /// Closes the sink. |
| /// |
| /// The [add] method must not be called after this method. |
| /// |
| /// Calling this method more than once is allowed, but does nothing. |
| void close(); |
| } |