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