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
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `FILTER_PARAMETER` | Deprecated.
    `static int` | `SOURCE_INTERP` | Deprecated.
    `static int` | `SOURCE_TYPE` | Deprecated.
    `static int` | `TARGET_INTERP` | Deprecated.
    `static int` | `TARGET_TYPE` | Deprecated.
    `static int` | `TYPE` | Deprecated.
    `static int` | `TYPE_SEGMENTED` | Deprecated.
    `static int` | `TYPE_STREAM` | Deprecated.

  - ### Method Summary

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

- - ### Field Detail

    - #### SOURCE_TYPE

          @Deprecated
          static final int SOURCE_TYPE

      Deprecated.
      See Also:
        Constant Field Values

    - #### TARGET_TYPE

          @Deprecated
          static final int TARGET_TYPE

      Deprecated.
      See Also:
        Constant Field Values

    - #### SOURCE_INTERP

          @Deprecated
          static final int SOURCE_INTERP

      Deprecated.
      See Also:
        Constant Field Values

    - #### TARGET_INTERP

          @Deprecated
          static final int TARGET_INTERP

      Deprecated.
      See Also:
        Constant Field Values

    - #### FILTER_PARAMETER

          @Deprecated
          static final int FILTER_PARAMETER

      Deprecated.
      See Also:
        Constant Field Values

    - #### TYPE

          @Deprecated
          static final int TYPE

      Deprecated.
      See Also:
        Constant Field Values

    - #### TYPE_SEGMENTED

          @Deprecated
          static final int TYPE_SEGMENTED

      Deprecated.
      See Also:
        Constant Field Values

    - #### TYPE_STREAM

          @Deprecated
          static final int TYPE_STREAM

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