Module org.firebirdsql.jaybird
Package org.firebirdsql.jdbc

# Interface FirebirdBlob.BlobOutputStream

All Known Implementing Classes:
  `FBBlobOutputStream`

Enclosing interface:
  FirebirdBlob

public static interface FirebirdBlob.BlobOutputStream
Blob output stream. This interface defines methods to write contents of the Blob field. Some method signatures are copied from the `OutputStream` only because it is abstract class and not interface that we can extend.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Close this stream.
`FirebirdBlob`
`getBlob()`
Get instance of `FirebirdBlob` to which this stream belongs to.
`long`
`length()`
Get Blob length.
`void`
`write(byte[] buffer, int offset, int length)`
Write data from the buffer into this stream.
`void`
`write(int data)`
Write single byte into the stream.

## Method Details

### getBlob

FirebirdBlob getBlob()
Get instance of `FirebirdBlob` to which this stream belongs to.

Note, code

     FirebirdBlob.BlobOutputStream otherStream = (FirebirdBlob.BlobOutputStream)
         inputStream.getBlob().setBinaryStream(1);

will return new stream object.

Returns:
  instance of `FirebirdBlob`.

### close

void close() throws IOException
Close this stream. Calling this method closes Blob stream and moves Blob from temporary into permanent state making any further content updates impossible.

Throws:
  `IOException` - if I/O error occurs.

### length

long length() throws IOException
Get Blob length. This method is the only available way to obtain length of a Blob that is in temporary state,

Returns:
  length of the blob.
Throws:
  `IOException` - if I/O error occurs.

### write

void write(byte[] buffer, int offset, int length) throws IOException
Write data from the buffer into this stream.

Parameters:
  `buffer` - buffer from which data should be written.
  `offset` - offset in the buffer.
  `length` - number of bytes to write.
Throws:
  `IOException` - if I/O error occurs.

### write

void write(int data) throws IOException
Write single byte into the stream.

Parameters:
  `data` - data to write, only lowest 8 bits are written.
Throws:
  `IOException` - if I/O error occurs.