Interface DataSink
-
- All Known Implementing Classes:
AesCipherDataSink
,ByteArrayDataSink
,CacheDataSink
,FailOnCloseDataSink
public interface DataSink
A component to which streams of data can be written.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
DataSink.Factory
A factory forDataSink
instances.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
close()
Closes the sink.void
open(DataSpec dataSpec)
Opens the sink to consume the specified data.void
write(byte[] buffer, int offset, int length)
Consumes the provided data.
-
-
-
Method Detail
-
open
void open(DataSpec dataSpec) throws IOException
Opens the sink to consume the specified data.Note: If an
IOException
is thrown, callers must still callclose()
to ensure that any partial effects of the invocation are cleaned up.- Parameters:
dataSpec
- Defines the data to be consumed.- Throws:
IOException
- If an error occurs opening the sink.
-
write
void write(byte[] buffer, int offset, int length) throws IOException
Consumes the provided data.- Parameters:
buffer
- The buffer from which data should be consumed.offset
- The offset of the data to consume inbuffer
.length
- The length of the data to consume, in bytes.- Throws:
IOException
- If an error occurs writing to the sink.
-
close
void close() throws IOException
Closes the sink.Note: This method must be called even if the corresponding call to
open(DataSpec)
threw anIOException
. Seeopen(DataSpec)
for more details.- Throws:
IOException
- If an error occurs closing the sink.
-
-