Package org.firebirdsql.ds

## Class FBAbstractCommonDataSource

- java.lang.Object
- - org.firebirdsql.ds.RootCommonDataSource
  - - org.firebirdsql.ds.FBAbstractCommonDataSource

- All Implemented Interfaces:
    `javax.sql.CommonDataSource`, `FirebirdConnectionProperties`
  Direct Known Subclasses:
    `FBConnectionPoolDataSource`, `FBXADataSource`

      public abstract class FBAbstractCommonDataSource
      extends RootCommonDataSource
      implements FirebirdConnectionProperties

  Abstract class for properties and behaviour common to DataSources, XADataSources and ConnectionPoolDataSources
  Since:
    2.2
  Author:
    Mark Rotteveel

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.Object` | `lock` |
    `protected static java.lang.String` | `REF_DATABASE_NAME` |
    `protected static java.lang.String` | `REF_DESCRIPTION` |
    `protected static java.lang.String` | `REF_PORT_NUMBER` |
    `protected static java.lang.String` | `REF_PROPERTIES` |
    `protected static java.lang.String` | `REF_SERVER_NAME` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FBAbstractCommonDataSource()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract void` | `checkNotStarted()` | Method to check if this DataSource has not yet started.
    `java.lang.String` | `getAuthPlugins()` | Get the list of authentication plugins to try.
    `int` | `getBlobBufferSize()` |
    `int` | `getBuffersNumber()` |
    `java.lang.String` | `getCharSet()` |
    `protected FBConnectionProperties` | `getConnectionProperties()` |
    `int` | `getConnectTimeout()` | Get the current connect timeout.
    `java.lang.String` | `getDatabase()` | Deprecated.
    `java.lang.String` | `getDatabaseName()` |
    `DatabaseParameterBuffer` | `getDatabaseParameterBuffer()` | Get the database parameter buffer corresponding to the current connection request information.
    `java.lang.String` | `getDataTypeBind()` | Get the `dataTypeBind` configuration.
    `java.lang.String` | `getDbCryptConfig()` | Get the database encryption plugin configuration.
    `java.lang.String` | `getDefaultIsolation()` | Get the default transaction isolation level as string.
    `int` | `getDefaultTransactionIsolation()` | Get the default transaction isolation level.
    `java.lang.String` | `getDescription()` |
    `java.lang.String` | `getEncoding()` |
    `java.lang.String` | `getGeneratedKeysEnabled()` | Get the `generatedKeysEnabled` configuration.
    `int` | `getLoginTimeout()`
    `java.lang.String` | `getNonStandardProperty​(java.lang.String key)` | Method to get the value of properties which are not exposed through JavaBeans-style setters.
    `java.lang.String` | `getPassword()` |
    `int` | `getPortNumber()` |
    `java.lang.String` | `getRoleName()` |
    `java.lang.String` | `getServerName()` |
    `java.lang.String` | `getSessionTimeZone()` | Get the `sessionTimeZone`.
    `int` | `getSocketBufferSize()` |
    `int` | `getSoTimeout()` | Get the current Socket blocking timeout (SoTimeout).
    `java.lang.String` | `getSqlDialect()` |
    `java.lang.String` | `getTpbMapping()` | Get the used TPB mapping.
    `TransactionParameterBuffer` | `getTransactionParameters​(int isolation)` | Get the transaction parameter buffer corresponding to the current connection request information.
    `java.lang.String` | `getType()` |
    `java.lang.String` | `getUser()` |
    `java.lang.String` | `getUserName()` | Deprecated.
    `java.lang.String` | `getWireCrypt()` | Get the wire encryption level value.
    `boolean` | `isDefaultResultSetHoldable()` | Get the default ResultSet holdability.
    `boolean` | `isIgnoreProcedureType()` | Get the value for `ignoreProcedureType`.
    `boolean` | `isTimestampUsesLocalTimezone()` |
    `boolean` | `isUseFirebirdAutocommit()` | Get whether to use Firebird autocommit (experimental).
    `boolean` | `isUseStandardUdf()` |
    `boolean` | `isUseStreamBlobs()` |
    `boolean` | `isWireCompression()` | Get if wire compression should be enabled.
    `void` | `setAuthPlugins​(java.lang.String authPlugins)` | Sets the authentication plugins to try.
    `void` | `setBlobBufferSize​(int bufferSize)` |
    `void` | `setBuffersNumber​(int buffersNumber)` |
    `void` | `setCharSet​(java.lang.String charSet)` |
    `protected void` | `setConnectionProperties​(FBConnectionProperties connectionProperties)` |
    `void` | `setConnectTimeout​(int connectTimeout)` | Set the connect timeout.
    `protected void` | `setDatabase()` | Sets the database property of connectionProperties.
    `void` | `setDatabase​(java.lang.String database)` | Deprecated.
    `void` | `setDatabaseName​(java.lang.String databaseName)` | Sets the databaseName of this datasource.
    `void` | `setDataTypeBind​(java.lang.String dataTypeBind)` | Sets the `dataTypeBind` configuration.
    `void` | `setDbCryptConfig​(java.lang.String dbCryptConfig)` | Sets the database encryption plugin configuration.
    `void` | `setDefaultIsolation​(java.lang.String isolation)` | Set the default transaction isolation level as string.
    `void` | `setDefaultResultSetHoldable​(boolean isHoldable)` | Sets the default ResultSet holdability.
    `void` | `setDefaultTransactionIsolation​(int defaultIsolationLevel)` | Set the default transaction isolation level.
    `void` | `setDescription​(java.lang.String description)` |
    `void` | `setEncoding​(java.lang.String encoding)` |
    `void` | `setGeneratedKeysEnabled​(java.lang.String generatedKeysEnabled)` | Sets the `generatedKeysEnabled` configuration.
    `void` | `setIgnoreProcedureType​(boolean ignoreProcedureType)` | Sets the value `ignoreProcedureType`.
    `void` | `setLoginTimeout​(int seconds)`
    `void` | `setNonStandardProperty​(java.lang.String propertyMapping)` | Method that allows setting non-standard property in the form "key=value" form.
    `void` | `setNonStandardProperty​(java.lang.String key, java.lang.String value)` | Method to set properties which are not exposed through JavaBeans-style setters.
    `void` | `setPassword​(java.lang.String password)` |
    `void` | `setPortNumber​(int portNumber)` |
    `void` | `setRoleName​(java.lang.String roleName)` |
    `void` | `setServerName​(java.lang.String serverName)` |
    `void` | `setSessionTimeZone​(java.lang.String sessionTimeZone)` | Sets the `sessionTimeZone`.
    `void` | `setSocketBufferSize​(int socketBufferSize)` |
    `void` | `setSoTimeout​(int soTimeout)` | Set the Socket blocking timeout (SoTimeout).
    `void` | `setSqlDialect​(java.lang.String sqlDialect)` |
    `void` | `setTimestampUsesLocalTimezone​(boolean timestampUsesLocalTimezone)` |
    `void` | `setTpbMapping​(java.lang.String tpbMapping)` | Set path to the properties file with the TPB mapping.
    `void` | `setTransactionParameters​(int isolation, TransactionParameterBuffer tpb)` | Set transaction parameters for the specified transaction isolation level.
    `void` | `setType​(java.lang.String type)` |
    `void` | `setUseFirebirdAutocommit​(boolean useFirebirdAutocommit)` | Set whether to use Firebird autocommit (experimental).
    `void` | `setUser​(java.lang.String user)` |
    `void` | `setUserName​(java.lang.String userName)` | Deprecated.
    `void` | `setUseStandardUdf​(boolean useStandardUdf)` |
    `void` | `setUseStreamBlobs​(boolean useStreamBlobs)` |
    `void` | `setWireCompression​(boolean wireCompression)` | Sets if the connection should try to enable wire compression.
    `void` | `setWireCrypt​(java.lang.String wireCrypt)` | Sets the wire encryption level.
    `protected static void` | `updateReference​(javax.naming.Reference ref, FBAbstractCommonDataSource instance)` | Updates the supplied reference with RefAddr properties relevant to this class.

    - ### Methods inherited from class org.firebirdsql.ds.RootCommonDataSource

      `getLogWriter, getParentLogger, setLogWriter`

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

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

    - ### Methods inherited from interface javax.sql.CommonDataSource

      `createShardingKeyBuilder`

- - ### Field Detail

    - #### REF_DATABASE_NAME

          protected static final java.lang.String REF_DATABASE_NAME

      See Also:
        Constant Field Values

    - #### REF_PORT_NUMBER

          protected static final java.lang.String REF_PORT_NUMBER

      See Also:
        Constant Field Values

    - #### REF_SERVER_NAME

          protected static final java.lang.String REF_SERVER_NAME

      See Also:
        Constant Field Values

    - #### REF_DESCRIPTION

          protected static final java.lang.String REF_DESCRIPTION

      See Also:
        Constant Field Values

    - #### REF_PROPERTIES

          protected static final java.lang.String REF_PROPERTIES

      See Also:
        Constant Field Values

    - #### lock

          protected final java.lang.Object lock

  - ### Constructor Detail

    - #### FBAbstractCommonDataSource

          public FBAbstractCommonDataSource()

  - ### Method Detail

    - #### checkNotStarted

          protected abstract void checkNotStarted()
                                           throws java.lang.IllegalStateException

      Method to check if this DataSource has not yet started.

      Implementations should throw IllegalStateException when the DataSource is already in use and modifying properties is not allowed.

      Throws:
        `java.lang.IllegalStateException` - When the DataSource is already in use

    - #### getDescription

          public java.lang.String getDescription()

    - #### setDescription

          public void setDescription​(java.lang.String description)

    - #### getServerName

          public final java.lang.String getServerName()

    - #### setServerName

          public final void setServerName​(java.lang.String serverName)

    - #### getPortNumber

          public final int getPortNumber()

    - #### setPortNumber

          public final void setPortNumber​(int portNumber)

    - #### getDatabaseName

          public final java.lang.String getDatabaseName()

    - #### setDatabaseName

          public final void setDatabaseName​(java.lang.String databaseName)

      Sets the databaseName of this datasource.

      The databaseName is the filepath or alias of the database only, so it should not include serverName and portNumber.

      Parameters:
        `databaseName` - Database name (filepath or alias)

    - #### getType

          public final java.lang.String getType()

      Specified by:
        `getType` in interface `FirebirdConnectionProperties`
      Returns:
        type of the connection, for example, "PURE_JAVA", "LOCAL", "EMBEDDED", depends on the GDS implementations installed in the system.

    - #### setType

          public final void setType​(java.lang.String type)

      Specified by:
        `setType` in interface `FirebirdConnectionProperties`
      Parameters:
        `type` - type of the connection, for example, "PURE_JAVA", "LOCAL", "EMBEDDED", depends on the GDS implementations installed in the system.

    - #### getUser

          public java.lang.String getUser()

    - #### setUser

          public void setUser​(java.lang.String user)

    - #### getPassword

          public java.lang.String getPassword()

      Specified by:
        `getPassword` in interface `FirebirdConnectionProperties`
      Returns:
        password corresponding to the specified user name.

    - #### setPassword

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

      Specified by:
        `setPassword` in interface `FirebirdConnectionProperties`
      Parameters:
        `password` - password corresponding to the specified user name.

    - #### getRoleName

          public java.lang.String getRoleName()

      Specified by:
        `getRoleName` in interface `FirebirdConnectionProperties`
      Returns:
        SQL role to use.

    - #### setRoleName

          public void setRoleName​(java.lang.String roleName)

      Specified by:
        `setRoleName` in interface `FirebirdConnectionProperties`
      Parameters:
        `roleName` - SQL role to use.

    - #### getCharSet

          public final java.lang.String getCharSet()

      Specified by:
        `getCharSet` in interface `FirebirdConnectionProperties`
      Returns:
        Character set for the connection.
      See Also:
        `FirebirdConnectionProperties.setCharSet(String)`

    - #### setCharSet

          public final void setCharSet​(java.lang.String charSet)

      Specified by:
        `setCharSet` in interface `FirebirdConnectionProperties`
      Parameters:
        `charSet` - Character set for the connection. Similar to `encoding` property, but accepts Java names instead of Firebird ones.

    - #### getEncoding

          public final java.lang.String getEncoding()

      Specified by:
        `getEncoding` in interface `FirebirdConnectionProperties`
      Returns:
        Character encoding for the connection.
      See Also:
        `FirebirdConnectionProperties.setEncoding(String)`

    - #### setEncoding

          public final void setEncoding​(java.lang.String encoding)

      Specified by:
        `setEncoding` in interface `FirebirdConnectionProperties`
      Parameters:
        `encoding` - Firebird name of the character encoding for the connection. See Firebird documentation for more information.

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws java.sql.SQLException

      This property is an alias for the connectTimeout property.

      Specified by:
        `getLoginTimeout` in interface `javax.sql.CommonDataSource`
      Throws:
        `java.sql.SQLException`

    - #### setLoginTimeout

          public void setLoginTimeout​(int seconds)
                               throws java.sql.SQLException

      This property is an alias for the connectTimeout property.

      Specified by:
        `setLoginTimeout` in interface `javax.sql.CommonDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getConnectTimeout

          public int getConnectTimeout()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the current connect timeout.
      Specified by:
        `getConnectTimeout` in interface `FirebirdConnectionProperties`
      Returns:
        Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)

    - #### setConnectTimeout

          public void setConnectTimeout​(int connectTimeout)

      Description copied from interface: `FirebirdConnectionProperties`
      Set the connect timeout.
      Specified by:
        `setConnectTimeout` in interface `FirebirdConnectionProperties`
      Parameters:
        `connectTimeout` - Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)

    - #### getDatabase

          @Deprecated
          public java.lang.String getDatabase()

      Deprecated.
      Specified by:
        `getDatabase` in interface `FirebirdConnectionProperties`
      Returns:
        path to the database including the server name and the port, if needed.

    - #### setDatabase

          @Deprecated
          public void setDatabase​(java.lang.String database)

      Deprecated.
      Specified by:
        `setDatabase` in interface `FirebirdConnectionProperties`
      Parameters:
        `database` - path to the database including the server name and the port, if needed.

    - #### getBlobBufferSize

          public int getBlobBufferSize()

      Specified by:
        `getBlobBufferSize` in interface `FirebirdConnectionProperties`
      Returns:
        BLOB buffer size in bytes.

    - #### setBlobBufferSize

          public void setBlobBufferSize​(int bufferSize)

      Specified by:
        `setBlobBufferSize` in interface `FirebirdConnectionProperties`
      Parameters:
        `bufferSize` - size of the BLOB buffer in bytes.

    - #### getSqlDialect

          public java.lang.String getSqlDialect()

      Specified by:
        `getSqlDialect` in interface `FirebirdConnectionProperties`
      Returns:
        SQL dialect of the client.

    - #### setSqlDialect

          public void setSqlDialect​(java.lang.String sqlDialect)

      Specified by:
        `setSqlDialect` in interface `FirebirdConnectionProperties`
      Parameters:
        `sqlDialect` - SQL dialect of the client.

    - #### isUseStreamBlobs

          public boolean isUseStreamBlobs()

      Specified by:
        `isUseStreamBlobs` in interface `FirebirdConnectionProperties`
      Returns:
        `true` if stream blobs should be created, otherwise `false`.

    - #### setUseStreamBlobs

          public void setUseStreamBlobs​(boolean useStreamBlobs)

      Specified by:
        `setUseStreamBlobs` in interface `FirebirdConnectionProperties`
      Parameters:
        `useStreamBlobs` - `true` if stream blobs should be created, otherwise `false`.

    - #### isUseStandardUdf

          public boolean isUseStandardUdf()

      Specified by:
        `isUseStandardUdf` in interface `FirebirdConnectionProperties`
      Returns:
        `true` if driver should assume that standard UDF are installed.

    - #### setUseStandardUdf

          public void setUseStandardUdf​(boolean useStandardUdf)

      Specified by:
        `setUseStandardUdf` in interface `FirebirdConnectionProperties`
      Parameters:
        `useStandardUdf` - `true` if driver should assume that standard UDF are installed.

    - #### getSocketBufferSize

          public int getSocketBufferSize()

      Specified by:
        `getSocketBufferSize` in interface `FirebirdConnectionProperties`
      Returns:
        socket buffer size in bytes, or -1 is not specified.

    - #### setSocketBufferSize

          public void setSocketBufferSize​(int socketBufferSize)

      Specified by:
        `setSocketBufferSize` in interface `FirebirdConnectionProperties`
      Parameters:
        `socketBufferSize` - socket buffer size in bytes.

    - #### isTimestampUsesLocalTimezone

          public boolean isTimestampUsesLocalTimezone()

      Specified by:
        `isTimestampUsesLocalTimezone` in interface `FirebirdConnectionProperties`
      Returns:
        `true` if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.

    - #### setTimestampUsesLocalTimezone

          public void setTimestampUsesLocalTimezone​(boolean timestampUsesLocalTimezone)

      Specified by:
        `setTimestampUsesLocalTimezone` in interface `FirebirdConnectionProperties`
      Parameters:
        `timestampUsesLocalTimezone` - `true` if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.

    - #### getUserName

          @Deprecated
          public java.lang.String getUserName()

      Deprecated.
      Specified by:
        `getUserName` in interface `FirebirdConnectionProperties`
      Returns:
        name of the user that will be used when connecting to the database.

    - #### setUserName

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

      Deprecated.
      Specified by:
        `setUserName` in interface `FirebirdConnectionProperties`
      Parameters:
        `userName` - name of the user that will be used when connecting to the database.

    - #### getBuffersNumber

          public int getBuffersNumber()

      Specified by:
        `getBuffersNumber` in interface `FirebirdConnectionProperties`
      Returns:
        number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.

    - #### setBuffersNumber

          public void setBuffersNumber​(int buffersNumber)

      Specified by:
        `setBuffersNumber` in interface `FirebirdConnectionProperties`
      Parameters:
        `buffersNumber` - number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.

    - #### getDatabaseParameterBuffer

          public DatabaseParameterBuffer getDatabaseParameterBuffer()
                                                             throws java.sql.SQLException

      Description copied from interface: `FirebirdConnectionProperties`
      Get the database parameter buffer corresponding to the current connection request information.
      Specified by:
        `getDatabaseParameterBuffer` in interface `FirebirdConnectionProperties`
      Returns:
        instance of `DatabaseParameterBuffer`.
      Throws:
        `java.sql.SQLException` - if database parameter buffer cannot be created.

    - #### getTpbMapping

          public java.lang.String getTpbMapping()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the used TPB mapping.
      Specified by:
        `getTpbMapping` in interface `FirebirdConnectionProperties`
      Returns:
        path to the TPB mapping.
      See Also:
        `FirebirdConnectionProperties.setTpbMapping(String)`

    - #### setTpbMapping

          public void setTpbMapping​(java.lang.String tpbMapping)

      Description copied from interface: `FirebirdConnectionProperties`
      Set path to the properties file with the TPB mapping. The path begins with the protocol specification followed by the path to the resource. A special protocol `"res:"` should be used to specify resource in the classpath.

      For the compatibility reasons, if no protocol is specified, classpath is used by default.

      Properties file contains a mapping between the transaction isolation level (name of the constant in the `Connection` interface and a comma-separated list of TPB parameters.
      Specified by:
        `setTpbMapping` in interface `FirebirdConnectionProperties`
      Parameters:
        `tpbMapping` - path to the properties file.

    - #### getDefaultTransactionIsolation

          public int getDefaultTransactionIsolation()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the default transaction isolation level. This is the transaction isolation level for the newly created connections.
      Specified by:
        `getDefaultTransactionIsolation` in interface `FirebirdConnectionProperties`
      Returns:
        default transaction isolation level.

    - #### setDefaultTransactionIsolation

          public void setDefaultTransactionIsolation​(int defaultIsolationLevel)

      Description copied from interface: `FirebirdConnectionProperties`
      Set the default transaction isolation level.
      Specified by:
        `setDefaultTransactionIsolation` in interface `FirebirdConnectionProperties`
      Parameters:
        `defaultIsolationLevel` - default transaction isolation level.

    - #### getDefaultIsolation

          public java.lang.String getDefaultIsolation()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the default transaction isolation level as string. This method is complementary to the `FirebirdConnectionProperties.getDefaultTransactionIsolation()`, however it takes a string as parameter instead of a numeric constant.
      Specified by:
        `getDefaultIsolation` in interface `FirebirdConnectionProperties`
      Returns:
        default transaction isolation as string.
      See Also:
        `FirebirdConnectionProperties.setDefaultIsolation(String)`

    - #### setDefaultIsolation

          public void setDefaultIsolation​(java.lang.String isolation)

      Description copied from interface: `FirebirdConnectionProperties`
      Set the default transaction isolation level as string. This method is complementary to the `FirebirdConnectionProperties.setDefaultTransactionIsolation(int)`, however it takes a string as parameter instead of a numeric constant.

      Following strings are allowed:
      - `"TRANSACTION_READ_COMMITTED"` for a READ COMMITTED isolation level.
      - `"TRANSACTION_REPEATABLE_READ"` for a REPEATABLE READ isolation level.
      - `"TRANSACTION_SERIALIZABLE"` for a SERIALIZABLE isolation level.
      Specified by:
        `setDefaultIsolation` in interface `FirebirdConnectionProperties`
      Parameters:
        `isolation` - string constant representing a default isolation level.

    - #### getTransactionParameters

          public TransactionParameterBuffer getTransactionParameters​(int isolation)

      Description copied from interface: `FirebirdConnectionProperties`
      Get the transaction parameter buffer corresponding to the current connection request information.
      Specified by:
        `getTransactionParameters` in interface `FirebirdConnectionProperties`
      Parameters:
        `isolation` - transaction isolation level for which TPB should be returned.
      Returns:
        instance of `TransactionParameterBuffer`.

    - #### setTransactionParameters

          public void setTransactionParameters​(int isolation,
                                               TransactionParameterBuffer tpb)

      Description copied from interface: `FirebirdConnectionProperties`
      Set transaction parameters for the specified transaction isolation level. The specified TPB is used as a default mapping for the specified isolation level.
      Specified by:
        `setTransactionParameters` in interface `FirebirdConnectionProperties`
      Parameters:
        `isolation` - transaction isolation level.
        `tpb` - instance of `TransactionParameterBuffer` containing transaction parameters.

    - #### isDefaultResultSetHoldable

          public boolean isDefaultResultSetHoldable()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the default ResultSet holdability.
      Specified by:
        `isDefaultResultSetHoldable` in interface `FirebirdConnectionProperties`
      Returns:
        `true` when ResultSets are holdable by default, `false` not holdable.

    - #### setDefaultResultSetHoldable

          public void setDefaultResultSetHoldable​(boolean isHoldable)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the default ResultSet holdability.
      Specified by:
        `setDefaultResultSetHoldable` in interface `FirebirdConnectionProperties`
      Parameters:
        `isHoldable` - `true` when ResultSets are holdable by default, `false` not holdable.

    - #### getSoTimeout

          public int getSoTimeout()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the current Socket blocking timeout (SoTimeout).
      Specified by:
        `getSoTimeout` in interface `FirebirdConnectionProperties`
      Returns:
        The socket blocking timeout in milliseconds (0 is 'infinite')

    - #### setSoTimeout

          public void setSoTimeout​(int soTimeout)

      Description copied from interface: `FirebirdConnectionProperties`
      Set the Socket blocking timeout (SoTimeout).
      Specified by:
        `setSoTimeout` in interface `FirebirdConnectionProperties`
      Parameters:
        `soTimeout` - Timeout in milliseconds (0 is 'infinite')

    - #### isUseFirebirdAutocommit

          public boolean isUseFirebirdAutocommit()

      Description copied from interface: `FirebirdConnectionProperties`
      Get whether to use Firebird autocommit (experimental).
      Specified by:
        `isUseFirebirdAutocommit` in interface `FirebirdConnectionProperties`
      Returns:
        `true` use Firebird autocommit

    - #### setUseFirebirdAutocommit

          public void setUseFirebirdAutocommit​(boolean useFirebirdAutocommit)

      Description copied from interface: `FirebirdConnectionProperties`
      Set whether to use Firebird autocommit (experimental).
      Specified by:
        `setUseFirebirdAutocommit` in interface `FirebirdConnectionProperties`
      Parameters:
        `useFirebirdAutocommit` - `true` Use Firebird autocommit

    - #### getWireCrypt

          public java.lang.String getWireCrypt()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the wire encryption level value.
      Specified by:
        `getWireCrypt` in interface `FirebirdConnectionProperties`
      Returns:
        Wire encryption level (`null` implies `DEFAULT`)

    - #### setWireCrypt

          public void setWireCrypt​(java.lang.String wireCrypt)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the wire encryption level.

      Values are defined by `WireCrypt`, values are handled case insensitive. Invalid values are accepted, but will cause an error when a connection is established.

      Specified by:
        `setWireCrypt` in interface `FirebirdConnectionProperties`
      Parameters:
        `wireCrypt` - Wire encryption level

    - #### getDbCryptConfig

          public java.lang.String getDbCryptConfig()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the database encryption plugin configuration.
      Specified by:
        `getDbCryptConfig` in interface `FirebirdConnectionProperties`
      Returns:
        Database encryption plugin configuration, meaning plugin specific

    - #### setDbCryptConfig

          public void setDbCryptConfig​(java.lang.String dbCryptConfig)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the database encryption plugin configuration.
      Specified by:
        `setDbCryptConfig` in interface `FirebirdConnectionProperties`
      Parameters:
        `dbCryptConfig` - Database encryption plugin configuration, meaning plugin specific

    - #### getAuthPlugins

          public java.lang.String getAuthPlugins()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the list of authentication plugins to try.
      Specified by:
        `getAuthPlugins` in interface `FirebirdConnectionProperties`
      Returns:
        comma-separated list of authentication plugins, or `null` for driver default

    - #### setAuthPlugins

          public void setAuthPlugins​(java.lang.String authPlugins)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the authentication plugins to try.

      Invalid names are skipped during authentication.

      Specified by:
        `setAuthPlugins` in interface `FirebirdConnectionProperties`
      Parameters:
        `authPlugins` - comma-separated list of authentication plugins, or `null` for driver default

    - #### getGeneratedKeysEnabled

          public java.lang.String getGeneratedKeysEnabled()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the `generatedKeysEnabled` configuration.
      Specified by:
        `getGeneratedKeysEnabled` in interface `FirebirdConnectionProperties`
      Returns:
        configuration value for `generatedKeysEnabled`, or `null` for driver default

    - #### setGeneratedKeysEnabled

          public void setGeneratedKeysEnabled​(java.lang.String generatedKeysEnabled)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the `generatedKeysEnabled` configuration.
      Specified by:
        `setGeneratedKeysEnabled` in interface `FirebirdConnectionProperties`
      Parameters:
        `generatedKeysEnabled` - Generated keys support configuration: `default` (or null/empty), `disabled`, `ignored`, or a list of statement types to enable (possible values: `insert`, `update`, `delete`, `update_or_insert`, `merge`)

    - #### getDataTypeBind

          public java.lang.String getDataTypeBind()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the `dataTypeBind` configuration.
      Specified by:
        `getDataTypeBind` in interface `FirebirdConnectionProperties`
      Returns:
        configuration value for `dataTypeBind`, or `null` for driver default

    - #### setDataTypeBind

          public void setDataTypeBind​(java.lang.String dataTypeBind)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the `dataTypeBind` configuration.

      If the value is explicitly set to a non-null value and the connected server is Firebird 4 or higher, this will configure the data type binding with the specified values using `isc_dpb_set_bind`, which is equivalent to executing `SET BIND` statements with the values.

      See also Firebird documentation for `SET BIND`.

      Specified by:
        `setDataTypeBind` in interface `FirebirdConnectionProperties`
      Parameters:
        `dataTypeBind` - Firebird 4+ data type bind configuration, a semicolon-separated list of `<from-type> TO <to-type>`

    - #### getSessionTimeZone

          public java.lang.String getSessionTimeZone()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the `sessionTimeZone`.
      Specified by:
        `getSessionTimeZone` in interface `FirebirdConnectionProperties`
      Returns:
        value for `sessionTimeZone`, or `null` for driver default (JVM default time zone)

    - #### setSessionTimeZone

          public void setSessionTimeZone​(java.lang.String sessionTimeZone)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the `sessionTimeZone`.
      Specified by:
        `setSessionTimeZone` in interface `FirebirdConnectionProperties`
      Parameters:
        `sessionTimeZone` - Firebird 4+ session time zone name (we strongly suggest to use Java compatible names only), use `"server"` to use server default time zone (note: conversion will use JVM default time zone)

    - #### isIgnoreProcedureType

          public boolean isIgnoreProcedureType()

      Description copied from interface: `FirebirdConnectionProperties`
      Get the value for `ignoreProcedureType`.
      Specified by:
        `isIgnoreProcedureType` in interface `FirebirdConnectionProperties`
      Returns:
        value for `ignoreProcedureType`

    - #### setIgnoreProcedureType

          public void setIgnoreProcedureType​(boolean ignoreProcedureType)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets the value `ignoreProcedureType`.

      When set to true, the `CallableStatement` implementation in Jaybird will ignore metadata information about the stored procedure type and default to using `EXECUTE PROCEDURE`, unless the type is explicitly set using `FirebirdCallableStatement.setSelectableProcedure(boolean)`. This can be useful in situations where a stored procedure is selectable, but tooling or code expects an executable stored procedure.

      Specified by:
        `setIgnoreProcedureType` in interface `FirebirdConnectionProperties`
      Parameters:
        `ignoreProcedureType` - `true` Ignore procedure type

    - #### isWireCompression

          public boolean isWireCompression()

      Description copied from interface: `FirebirdConnectionProperties`
      Get if wire compression should be enabled.

      Wire compression requires Firebird 3 or higher, and the server must have the zlib library. If compression cannot be negotiated, the connection will be made without wire compression.

      This property will be ignored for native connections. For native connections, the configuration in `firebird.conf` read by the client library will be used.

      Specified by:
        `isWireCompression` in interface `FirebirdConnectionProperties`
      Returns:
        `true` wire compression enabled

    - #### setWireCompression

          public void setWireCompression​(boolean wireCompression)

      Description copied from interface: `FirebirdConnectionProperties`
      Sets if the connection should try to enable wire compression.
      Specified by:
        `setWireCompression` in interface `FirebirdConnectionProperties`
      Parameters:
        `wireCompression` - `true` enable wire compression, `false` disable wire compression (the default)
      See Also:
        `FirebirdConnectionProperties.isWireCompression()`

    - #### setNonStandardProperty

          public final void setNonStandardProperty​(java.lang.String propertyMapping)

      Method that allows setting non-standard property in the form "key=value" form. This method is needed by some containers to specify properties in the configuration.
      Specified by:
        `setNonStandardProperty` in interface `FirebirdConnectionProperties`
      Parameters:
        `propertyMapping` - mapping between property name (key) and its value. Name and value are separated with "=", ":" or whitespace character. Whitespace characters on the beginning of the string and between key and value are ignored. No escaping is possible: "\n" is backslash-en, not a new line mark.
      See Also:
        `setNonStandardProperty(String, String)`

    - #### setNonStandardProperty

          public final void setNonStandardProperty​(java.lang.String key,
                                                   java.lang.String value)

      Method to set properties which are not exposed through JavaBeans-style setters.
      Specified by:
        `setNonStandardProperty` in interface `FirebirdConnectionProperties`
      Parameters:
        `key` - Name of the property (see Jaybird releasenotes)
        `value` - Value of the property
      See Also:
        `setNonStandardProperty(String)`

    - #### getNonStandardProperty

          public final java.lang.String getNonStandardProperty​(java.lang.String key)

      Method to get the value of properties which are not exposed through JavaBeans-style setters.
      Specified by:
        `getNonStandardProperty` in interface `FirebirdConnectionProperties`
      Parameters:
        `key` - Name of the property (see Jaybird releasenotes)
      Returns:
        Value of the property
      See Also:
        `setNonStandardProperty(String)`, `setNonStandardProperty(String, String)`

    - #### setDatabase

          protected final void setDatabase()

      Sets the database property of connectionProperties.

    - #### setConnectionProperties

          protected final void setConnectionProperties​(FBConnectionProperties connectionProperties)

    - #### getConnectionProperties

          protected final FBConnectionProperties getConnectionProperties()

    - #### updateReference

          protected static void updateReference​(javax.naming.Reference ref,
                                                FBAbstractCommonDataSource instance)

      Updates the supplied reference with RefAddr properties relevant to this class.
      Parameters:
        `ref` - Reference to update
        `instance` - Instance of this class to obtain values