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, 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