Package org.firebirdsql.gds

## Interface BlobParameterBuffer

All Superinterfaces:
  `java.lang.Iterable<Parameter>`, `ParameterBuffer`

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).

### Field Summary

Fields
`static int` `FILTER_PARAMETER`
`static int` `SOURCE_INTERP`
`static int` `SOURCE_TYPE`
`static int` `TARGET_INTERP`
`static int` `TARGET_TYPE`
`static int` `TYPE`
`static int` `TYPE_SEGMENTED`
`static int` `TYPE_STREAM`

### Method Summary

All Methods Instance Methods Abstract Methods
`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, java.lang.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, getArgumentAsInt, getArgumentAsString, getType, hasArgument, iterator, removeArgument, size, toBytes, toBytesWithType, toXdrable, writeArgumentsTo`

### Field Detail

#### SOURCE_TYPE

    static final int SOURCE_TYPE

See Also:
  Constant Field Values

#### TARGET_TYPE

    static final int TARGET_TYPE

See Also:
  Constant Field Values

#### SOURCE_INTERP

    static final int SOURCE_INTERP

See Also:
  Constant Field Values

#### TARGET_INTERP

    static final int TARGET_INTERP

See Also:
  Constant Field Values

#### FILTER_PARAMETER

    static final int FILTER_PARAMETER

See Also:
  Constant Field Values

#### TYPE

    static final int TYPE

See Also:
  Constant Field Values

#### TYPE_SEGMENTED

    static final int TYPE_SEGMENTED

See Also:
  Constant Field Values

#### TYPE_STREAM

    static final int TYPE_STREAM

See Also:
  Constant Field Values

### Method Detail

#### 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,
                     java.lang.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