Package org.firebirdsql.gds.impl

## Interface ParameterBufferMetaData

- All Known Implementing Classes:
    `DatabaseParameterBufferImp.DpbMetaData`, `ServiceParameterBufferImp.SpbMetaData`, `ServiceRequestBufferImp.SrbMetaData`, `TransactionParameterBufferImpl.TpbMetaData`

      public interface ParameterBufferMetaData

  Additional metadata for parameter buffer behavior.
  Since:
    3.0
  Author:
    Mark Rotteveel

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `addPreamble​(ParameterBuffer parameterBuffer)` | Allows the metadata to add a preamble to the parameter buffer.
    `default ArgumentType` | `getByteArgumentType​(int tag)` | Gets the byte argument type for the supplied tag.
    `ArgumentType` | `getByteArrayArgumentType​(int tag)` | Gets the byte array argument type for the supplied tag.
    `ArgumentType` | `getIntegerArgumentType​(int tag)` | Gets the integer argument type for the supplied tag.
    `ArgumentType` | `getSingleArgumentType​(int tag)` | Gets the single argument type for the supplied tag.
    `ArgumentType` | `getStringArgumentType​(int tag)` | Gets the string argument type for the supplied tag.
    `int` | `getType()` | Parameter buffer type (this usually is the version of the parameter buffer).

- - ### Method Detail

    - #### getType

          int getType()

      Parameter buffer type (this usually is the version of the parameter buffer).
      Returns:
        Buffer type (for example `ISCConstants.isc_spb_version3`).

    - #### addPreamble

          default void addPreamble​(ParameterBuffer parameterBuffer)

      Allows the metadata to add a preamble to the parameter buffer.

      This is only intended for the weird "version 2" connection service parameter buffer that requires two tags for the version with `isc_spb_version, isc_spb_current_version`.

      Parameters:
        `parameterBuffer` - Parameter buffer.

    - #### getStringArgumentType

          ArgumentType getStringArgumentType​(int tag)

      Gets the string argument type for the supplied tag.

      When the tag is not known (or unsupported for string arguments), then the default should be returned.

      Parameters:
        `tag` - Tag (item type)
      Returns:
        Argument type (never `null`)

    - #### getByteArrayArgumentType

          ArgumentType getByteArrayArgumentType​(int tag)

      Gets the byte array argument type for the supplied tag.

      When the tag is not known (or unsupported for string arguments), then the default should be returned.

      Parameters:
        `tag` - Tag (item type)
      Returns:
        Argument type (never `null`)

    - #### getIntegerArgumentType

          ArgumentType getIntegerArgumentType​(int tag)

      Gets the integer argument type for the supplied tag.

      When the tag is not known (or unsupported for string arguments), then the default should be returned.

      Parameters:
        `tag` - Tag (item type)
      Returns:
        Argument type (never `null`)

    - #### getSingleArgumentType

          ArgumentType getSingleArgumentType​(int tag)

      Gets the single argument type for the supplied tag.

      When the tag is not known (or unsupported for string arguments), then the default should be returned.

      Parameters:
        `tag` - Tag (item type)
      Returns:
        Argument type (never `null`)

    - #### getByteArgumentType

          default ArgumentType getByteArgumentType​(int tag)

      Gets the byte argument type for the supplied tag.

      When the tag is not known (or unsupported for string arguments), then the default should be returned.

      Parameters:
        `tag` - Tag (item type)
      Returns:
        Argument type (never `null`)