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.