Module org.firebirdsql.jaybird
Package org.firebirdsql.gds

# Interface BlobParameterBuffer

All Superinterfaces:
  `Iterable<Parameter>`, `ParameterBuffer`, `Serializable`

All Known Implementing Classes:
  `BlobParameterBufferImp`

public interface BlobParameterBuffer extends ParameterBuffer
Instance of this interface represents a BLOB Parameter Buffer from the Firebird API documentation and specifies attributes for `FbDatabase.createBlobForOutput(org.firebirdsql.gds.ng.FbTransaction, BlobParameterBuffer)` or `FbDatabase.createBlobForInput(org.firebirdsql.gds.ng.FbTransaction, BlobParameterBuffer, long)` operations.

Two features are available:

- Specifying the source and target BLOB types (server uses BLOB filters to perform the conversion)
- Specifying type of the BLOB - either segmented or stream. The only visible to user difference between segmented and stream BLOBs is the fact that "seek" operation is not defined for segmented BLOBs (see `FbBlob.seek(int, org.firebirdsql.gds.ng.FbBlob.SeekMode)` for more details).

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addArgument(int argumentType)`
  Set a void (valueless) parameter on this `BlobParameterBuffer`.
  `void`
  `addArgument(int argumentType, int value)`
  Set an `int` parameter on this `BlobParameterBuffer`.
  `void`
  `addArgument(int argumentType, String value)`
  Set a `String` parameter on this `BlobParameterBuffer`.

  ### Methods inherited from interface java.lang.Iterable

  `forEach, spliterator`

  ### Methods inherited from interface org.firebirdsql.gds.ParameterBuffer

  `addArgument, addArgument, addArgument, addArgument, getArgumentAsInt, getArgumentAsString, getType, hasArgument, isEmpty, iterator, removeArgument, size, toBytes, toBytesWithType, toXdrable, writeArgumentsTo`

- ## Method Details

  - ### addArgument

    void addArgument(int argumentType)
    Set a void (valueless) parameter on this `BlobParameterBuffer`.
    Specified by:
      `addArgument` in interface `ParameterBuffer`
    Parameters:
      `argumentType` - The parameter to be set, either an `ISCConstants.isc_bpb_*` constant, or one of the constants of this interface

  - ### addArgument

    void addArgument(int argumentType, String value)
    Set a `String` parameter on this `BlobParameterBuffer`.
    Specified by:
      `addArgument` in interface `ParameterBuffer`
    Parameters:
      `argumentType` - The parameter to be set, either an `ISCConstants.isc_bpb_*` constant, or one of the constants of this interface
      `value` - The value to set for the given parameter

  - ### addArgument

    void addArgument(int argumentType, int value)
    Set an `int` parameter on this `BlobParameterBuffer`.
    Specified by:
      `addArgument` in interface `ParameterBuffer`
    Parameters:
      `argumentType` - The parameter to be set, either an `ISCConstants.isc_bpb_*` constant, or one of the constants of this interface
      `value` - The value to set for the given parameter