| // 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(); |
| } |