Package org.firebirdsql.jca

## Class FBConnectionRequestInfo

- java.lang.Object
- - org.firebirdsql.jca.FBConnectionRequestInfo

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Iterable<Parameter>`, `javax.resource.cci.ConnectionSpec`, `javax.resource.spi.ConnectionRequestInfo`, `ConnectionParameterBuffer`, `DatabaseParameterBuffer`, `DatabaseParameterBufferExtension`, `ParameterBuffer`

      public class FBConnectionRequestInfo
      extends java.lang.Object
      implements DatabaseParameterBufferExtension, javax.resource.spi.ConnectionRequestInfo, javax.resource.cci.ConnectionSpec, java.io.Serializable

  The class `FBConnectionRequestInfo` holds a clumplet that is used to store and transfer connection-specific information such as user, password, and other dpb information..
  Version:
    2.0
  Author:
    David Jencks, Roman Rokytskyy
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.firebirdsql.gds.DatabaseParameterBuffer

      `ACTIVATE_SHADOW, ADDRESS_PATH, ALLOCATION, BEGIN_LOG, BUFFER_LENGTH, CACHE_MANAGER, CDD_PATHNAME, CONNECT_TIMEOUT, DAMAGED, DBKEY_SCOPE, DEBUG, DELETE_SHADOW, DISABLE_JOURNAL, DISABLE_WAL, DROP_WALFILE, DUMMY_PACKET_INTERVAL, ENABLE_JOURNAL, ENCRYPT_KEY, FORCE_WRITE, GARBAGE_COLLECT, GBAK_ATTACH, GFIX_ATTACH, GSEC_ATTACH, GSTAT_ATTACH, INTERP, JOURNAL, LC_CTYPE, LC_MESSAGES, LICENSE, NO_DB_TRIGGERS, NO_GARBAGE_COLLECT, NO_RESERVE, NUM_BUFFERS, NUMBER_OF_USERS, OLD_DUMP_ID, OLD_FILE, OLD_FILE_SIZE, OLD_NUM_FILES, OLD_START_FILE, OLD_START_PAGE, OLD_START_SEQNO, ONLINE, ONLINE_DUMP, OVERWRITE, PAGE_SIZE, PASSWORD, PASSWORD_ENC, PROCESS_ID, PROCESS_NAME, QUIT_LOG, RESERVED, SEC_ATTACH, SET_DB_CHARSET, SET_DB_READONLY, SET_DB_SQL_DIALECT, SET_PAGE_BUFFERS, SHUTDOWN, SHUTDOWN_DELAY, SQL_DIALECT, SQL_ROLE_NAME, SWEEP, SWEEP_INTERVAL, SYS_USER_NAME, SYS_USER_NAME_ENC, TRACE, TRUSTED_AUTH, USER, USER_NAME, VERIFY, WAL_BACKUP_DIR, WAL_BUFSIZE, WAL_CHKPTLEN, WAL_GRP_CMT_WAIT, WAL_NUMBUFS, WORKING_DIRECTORY`

    - ### Fields inherited from interface org.firebirdsql.gds.impl.DatabaseParameterBufferExtension

      `BLOB_BUFFER_SIZE, COLUMN_LABEL_FOR_NAME, DB_CRYPT_CONFIG, EXTENSION_PARAMETERS, FILENAME_CHARSET, GENERATED_KEYS_ENABLED, IGNORE_PROCEDURE_TYPE, LOCAL_ENCODING, MAPPING_PATH, NO_RESULT_SET_TRACKING, OCTETS_AS_BYTES, PARANOIA_MODE, RESULT_SET_HOLDABLE, SO_TIMEOUT, SOCKET_BUFFER_SIZE, TIMESTAMP_USES_LOCAL_TIMEZONE, USE_FIREBIRD_AUTOCOMMIT, USE_STANDARD_UDF, USE_STREAM_BLOBS, WIRE_CRYPT_LEVEL`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FBConnectionRequestInfo​(DatabaseParameterBuffer dpb)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addArgument​(int argumentType)` | Add argument with no parameters.
    `void` | `addArgument​(int argumentType, byte[] content)` | Add array of bytes.
    `void` | `addArgument​(int argumentType, int value)` | Add integer argument.
    `void` | `addArgument​(int argumentType, long value)` | Add long argument.
    `void` | `addArgument​(int argumentType, java.lang.String value)` | Add string argument with the default encoding.
    `void` | `addArgument​(int argumentType, java.lang.String value, Encoding encoding)` | Add string argument.
    `DatabaseParameterBuffer` | `deepCopy()` | Perform a deep copy of this object, returning the copied instance.
    `boolean` | `equals​(java.lang.Object obj)` |
    `int` | `getArgumentAsInt​(int argumentType)` | Get argument as int.
    `java.lang.String` | `getArgumentAsString​(int argumentType)` | Get argument as string.
    `Encoding` | `getDefaultEncoding()` |
    `DatabaseParameterBuffer` | `getDpb()` | Get the underlying Database Parameter Buffer for this object.
    `ParameterTagMapping` | `getTagMapping()` |
    `int` | `getType()` |
    `boolean` | `hasArgument​(int argumentType)` | Check if this parameter buffer has specified argument.
    `int` | `hashCode()` |
    `java.util.Iterator<Parameter>` | `iterator()` | Returns an iterator over a copy of the parameters in this parameter buffer.
    `void` | `removeArgument​(int argumentType)` | Remove specified argument.
    `DatabaseParameterBuffer` | `removeExtensionParams()` | Remove extension parameters in the newly created deep copy of this class.
    `void` | `setPassword​(java.lang.String password)` |
    `void` | `setUserName​(java.lang.String userName)` |
    `int` | `size()` |
    `byte[]` | `toBytes()` | Converts this parameter buffer to a byte array.
    `byte[]` | `toBytesWithType()` | Converts this parameter buffer to a byte array with type information.
    `Xdrable` | `toXdrable()` |
    `void` | `writeArgumentsTo​(java.io.OutputStream outputStream)` | Writes the arguments in the implementation specific serialization into the `OutputStream`.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### FBConnectionRequestInfo

          public FBConnectionRequestInfo​(DatabaseParameterBuffer dpb)

  - ### Method Detail

    - #### deepCopy

          public DatabaseParameterBuffer deepCopy()

      Perform a deep copy of this object, returning the copied instance.
      Specified by:
        `deepCopy` in interface `DatabaseParameterBuffer`
      Returns:
        A deep-copied copy of this FBConnectionRequestInfo object

    - #### getDpb

          public DatabaseParameterBuffer getDpb()

      Get the underlying Database Parameter Buffer for this object.
      Returns:
        The underlying dpb for this object

    - #### addArgument

          public void addArgument​(int argumentType,
                                  byte[] content)

      Description copied from interface: `ParameterBuffer`
      Add array of bytes.
      Specified by:
        `addArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument.
        `content` - content of argument.

    - #### addArgument

          public void addArgument​(int argumentType,
                                  int value)

      Description copied from interface: `ParameterBuffer`
      Add integer argument.
      Specified by:
        `addArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument.
        `value` - integer value to add.

    - #### addArgument

          public void addArgument​(int argumentType,
                                  long value)

      Description copied from interface: `ParameterBuffer`
      Add long argument.
      Specified by:
        `addArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument.
        `value` - long value to add.

    - #### addArgument

          public void addArgument​(int argumentType,
                                  java.lang.String value)

      Description copied from interface: `ParameterBuffer`
      Add string argument with the default encoding.
      Specified by:
        `addArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument.
        `value` - string value to add.

    - #### addArgument

          public void addArgument​(int argumentType,
                                  java.lang.String value,
                                  Encoding encoding)

      Description copied from interface: `ParameterBuffer`
      Add string argument.
      Specified by:
        `addArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument.
        `value` - string value to add.
        `encoding` - encoding to use for conversion to bytes

    - #### getType

          public int getType()

      Specified by:
        `getType` in interface `ParameterBuffer`
      Returns:
        The parameter buffer type identifier

    - #### addArgument

          public void addArgument​(int argumentType)

      Description copied from interface: `ParameterBuffer`
      Add argument with no parameters.
      Specified by:
        `addArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument.

    - #### getArgumentAsInt

          public int getArgumentAsInt​(int argumentType)

      Description copied from interface: `ParameterBuffer`
      Get argument as int.
      Specified by:
        `getArgumentAsInt` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument to find.
      Returns:
        argument as string or `0` if nothing found.

    - #### getArgumentAsString

          public java.lang.String getArgumentAsString​(int argumentType)

      Description copied from interface: `ParameterBuffer`
      Get argument as string.
      Specified by:
        `getArgumentAsString` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument to find.
      Returns:
        argument as string or `null` if nothing found.

    - #### hasArgument

          public boolean hasArgument​(int argumentType)

      Description copied from interface: `ParameterBuffer`
      Check if this parameter buffer has specified argument.
      Specified by:
        `hasArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument to find.
      Returns:
        `true` if this buffer contains specified argument.

    - #### removeArgument

          public void removeArgument​(int argumentType)

      Description copied from interface: `ParameterBuffer`
      Remove specified argument.
      Specified by:
        `removeArgument` in interface `ParameterBuffer`
      Parameters:
        `argumentType` - type of argument to remove.

    - #### removeExtensionParams

          public DatabaseParameterBuffer removeExtensionParams()

      Description copied from interface: `DatabaseParameterBufferExtension`
      Remove extension parameters in the newly created deep copy of this class.
      Specified by:
        `removeExtensionParams` in interface `DatabaseParameterBufferExtension`
      Returns:
        a deep copy of this class where all extension parameters are removed; needed to filter Jaybird extensions that are not understood by Firebird.

    - #### iterator

          public java.util.Iterator<Parameter> iterator()

      Description copied from interface: `ParameterBuffer`
      Returns an iterator over a copy of the parameters in this parameter buffer.

      It is safe to iterate over this iterator while modifying the parameter buffer. Changes will not be reflected in the iterator.

      Specified by:
        `iterator` in interface `java.lang.Iterable<Parameter>`
      Specified by:
        `iterator` in interface `ParameterBuffer`
      Returns:
        Iterator over the parameters in this parameter buffer.

    - #### writeArgumentsTo

          public void writeArgumentsTo​(java.io.OutputStream outputStream)
                                throws java.io.IOException

      Description copied from interface: `ParameterBuffer`
      Writes the arguments in the implementation specific serialization into the `OutputStream`.
      Specified by:
        `writeArgumentsTo` in interface `ParameterBuffer`
      Parameters:
        `outputStream` - The `OutputStream` to write to
      Throws:
        `java.io.IOException` - Errors produced by the output stream during writes

    - #### toXdrable

          public Xdrable toXdrable()

      Specified by:
        `toXdrable` in interface `ParameterBuffer`
      Returns:
        `Xdrable` to write (and optionally read) this instance as Xdr.

    - #### toBytes

          public byte[] toBytes()

      Description copied from interface: `ParameterBuffer`
      Converts this parameter buffer to a byte array.

      This byte array includes the extra header-bytes (if any), but does not include the type information

      Specified by:
        `toBytes` in interface `ParameterBuffer`
      Returns:
        Byte array with serialization of this parameter buffer
      See Also:
        `ParameterBuffer.toBytesWithType()`

    - #### toBytesWithType

          public byte[] toBytesWithType()

      Description copied from interface: `ParameterBuffer`
      Converts this parameter buffer to a byte array with type information.

      This byte array includes the type information and the extra header bytes (if any).

      Specified by:
        `toBytesWithType` in interface `ParameterBuffer`
      Returns:
        Byte array with serialization of this parameter buffer
      See Also:
        `ParameterBuffer.toBytes()`

    - #### size

          public int size()

      Specified by:
        `size` in interface `ParameterBuffer`
      Returns:
        the number of parameters stored.

    - #### setUserName

          public void setUserName​(java.lang.String userName)

    - #### setPassword

          public void setPassword​(java.lang.String password)

    - #### equals

          public boolean equals​(java.lang.Object obj)

      Specified by:
        `equals` in interface `javax.resource.spi.ConnectionRequestInfo`
      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in interface `javax.resource.spi.ConnectionRequestInfo`
      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### getTagMapping

          public ParameterTagMapping getTagMapping()

      Specified by:
        `getTagMapping` in interface `ConnectionParameterBuffer`
      Returns:
        The tag mapping.

    - #### getDefaultEncoding

          public Encoding getDefaultEncoding()

      Specified by:
        `getDefaultEncoding` in interface `ConnectionParameterBuffer`
      Returns:
        The default encoding of string properties in this parameter buffer.