org.firebirdsql.ds

## Class FBSimpleDataSource

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

- All Implemented Interfaces:
    java.io.Serializable, java.sql.Wrapper, javax.naming.Referenceable, javax.sql.CommonDataSource, javax.sql.DataSource, FirebirdConnectionProperties

      public class FBSimpleDataSource
      extends RootCommonDataSource
      implements javax.sql.DataSource, java.io.Serializable, javax.resource.Referenceable, FirebirdConnectionProperties

  This is a simple implementation of `DataSource` interface. Connections are physically opened in `DataSource.getConnection()` method and physically closed in `Connection.close()` method.
  Version:
    1.0
  Author:
    Roman Rokytskyy, David Jencks
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `description`
    `protected FBDataSource` | `ds`
    `protected javax.naming.Reference` | `jndiReference`
    `protected FBManagedConnectionFactory` | `mcf`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FBSimpleDataSource()` Create instance of this class.
    `FBSimpleDataSource(GDSType type)` Create instance of this class.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Integer` | `getBlobBufferLength()` Get buffer length for the BLOB fields.
    `int` | `getBlobBufferSize()`
    `int` | `getBuffersNumber()`
    `java.lang.String` | `getCharSet()`
    `java.sql.Connection` | `getConnection()` Get JDBC connection with default credentials.
    `java.sql.Connection` | `getConnection(java.lang.String username, java.lang.String password)` Get JDBC connection with the specified credentials.
    `int` | `getConnectTimeout()` Get the current connect timeout.
    `java.lang.String` | `getDatabase()` Get name of the database.
    `java.lang.String` | `getDatabaseName()` Deprecated. use `getDatabase()` instead for the sake of naming compatibility.
    `DatabaseParameterBuffer` | `getDatabaseParameterBuffer()` Get the database parameter buffer corresponding to the current connection request information.
    `protected javax.sql.DataSource` | `getDataSource()` Get underlying connection factory (in our case instance of `FBDataSource` class) that will provide JDBC connections.
    `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()` Get description of this datasource.
    `java.lang.String` | `getEncoding()` Get encoding for connections produced by this data source.
    `int` | `getLoginTimeout()`
    `java.lang.String` | `getNonStandardProperty(java.lang.String key)` Get the property that does not have corresponding getter method by its name.
    `java.lang.String` | `getPassword()` Get password used in `getConnection()` method.
    `javax.naming.Reference` | `getReference()` Get previously set JNDI reference.
    `java.lang.String` | `getRoleName()`
    `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()` Deprecated. use `getUserName()` instead for the sake of naming compatibility.
    `java.lang.String` | `getUserName()` Get user name that is used in `getConnection()` method.
    `java.lang.String` | `getUseTranslation()`
    `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` | `isWrapperFor(java.lang.Class<?> iface)`
    `void` | `setBlobBufferLength(java.lang.Integer length)` Set BLOB buffer length.
    `void` | `setBlobBufferSize(int bufferSize)`
    `void` | `setBuffersNumber(int buffersNumber)`
    `void` | `setCharSet(java.lang.String charSet)`
    `void` | `setConnectTimeout(int connectTimeout)` Set the connect timeout.
    `void` | `setDatabase(java.lang.String name)` Set database name.
    `void` | `setDatabaseName(java.lang.String name)` Deprecated. use `setDatabase(String)` instead for the sake of naming compatibility.
    `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)` Set description of this datasource.
    `void` | `setEncoding(java.lang.String encoding)` Set encoding for connections produced by this data source.
    `void` | `setIgnoreProcedureType(boolean ignoreProcedureType)` Sets the value `ignoreProcedureType`.
    `void` | `setLoginTimeout(int loginTimeout)`
    `void` | `setNonStandardProperty(java.lang.String propertyMapping)` Set the property that does not have corresponding setter method.
    `void` | `setNonStandardProperty(java.lang.String key, java.lang.String value)` Set the property that does not have corresponding setter method.
    `void` | `setPassword(java.lang.String password)` Set password that will be used in the `getConnection()` method.
    `void` | `setReference(javax.naming.Reference reference)` Set JNDI reference for this data source.
    `void` | `setRoleName(java.lang.String roleName)`
    `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)` Deprecated. use `setUserName(String)` instead for the sake of naming compatibility.
    `void` | `setUserName(java.lang.String userName)` Set user name that will be used in `getConnection()` method.
    `void` | `setUseStandardUdf(boolean useStandardUdf)`
    `void` | `setUseStreamBlobs(boolean useStreamBlobs)`
    `void` | `setUseTranslation(java.lang.String translationPath)`
    `void` | `setWireCrypt(java.lang.String wireCrypt)` Sets the wire encryption level.
    `<T> T` | `unwrap(java.lang.Class<T> iface)`

    - ### 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

      `getLogWriter, getParentLogger, setLogWriter`

- - ### Field Detail

    - #### mcf

          protected FBManagedConnectionFactory mcf

    - #### ds

          protected transient FBDataSource ds

    - #### jndiReference

          protected javax.naming.Reference jndiReference

    - #### description

          protected java.lang.String description

  - ### Constructor Detail

    - #### FBSimpleDataSource

          public FBSimpleDataSource()

      Create instance of this class.

    - #### FBSimpleDataSource

          public FBSimpleDataSource(GDSType type)

      Create instance of this class.

  - ### Method Detail

    - #### getBlobBufferLength

          public java.lang.Integer getBlobBufferLength()

      Get buffer length for the BLOB fields.
      Returns:
        length of BLOB buffer.

    - #### setBlobBufferLength

          public void setBlobBufferLength(java.lang.Integer length)

      Set BLOB buffer length. This value influences the performance when working with BLOB fields.
      Parameters:
        `length` - new length of the BLOB buffer.

    - #### getDatabaseName

          @Deprecated
          public java.lang.String getDatabaseName()

      Deprecated. use `getDatabase()` instead for the sake of naming compatibility.
      Get name of the database.
      Returns:
        database name, value is equal to the part of full JDBC URL without the `jdbc:firebirdsql:` part.

    - #### setDatabaseName

          @Deprecated
          public void setDatabaseName(java.lang.String name)

      Deprecated. use `setDatabase(String)` instead for the sake of naming compatibility.
      Set database name.
      Parameters:
        `name` - connection URL without `"jdbc:firebirdsql:"` prefix (`"//localhost:3050/c:/database/employee.fdb"`) for example).

    - #### getDatabase

          public java.lang.String getDatabase()

      Get name of the database.
      Specified by:
        `getDatabase` in interface `FirebirdConnectionProperties`
      Returns:
        database name, value is equal to the part of full JDBC URL without the `jdbc:firebirdsql:` part.

    - #### setDatabase

          public void setDatabase(java.lang.String name)

      Set database name.
      Specified by:
        `setDatabase` in interface `FirebirdConnectionProperties`
      Parameters:
        `name` - connection URL without `"jdbc:firebirdsql:"` prefix (`"//localhost:3050/c:/database/employee.fdb"`) for example).

    - #### getUser

          @Deprecated
          public java.lang.String getUser()

      Deprecated. use `getUserName()` instead for the sake of naming compatibility.
      Get user name that is used in `getConnection()` method.
      Returns:
        default user name.

    - #### setUser

          @Deprecated
          public void setUser(java.lang.String user)

      Deprecated. use `setUserName(String)` instead for the sake of naming compatibility.
      Set user name that will be used in `getConnection()` method.
      Parameters:
        `user` - default user name.

    - #### getUserName

          public java.lang.String getUserName()

      Get user name that is used in `getConnection()` method.
      Specified by:
        `getUserName` in interface `FirebirdConnectionProperties`
      Returns:
        default user name.

    - #### setUserName

          public void setUserName(java.lang.String userName)

      Set user name that will be used in `getConnection()` method.
      Specified by:
        `setUserName` in interface `FirebirdConnectionProperties`
      Parameters:
        `userName` - default user name.

    - #### getPassword

          public java.lang.String getPassword()

      Get password used in `getConnection()` method.
      Specified by:
        `getPassword` in interface `FirebirdConnectionProperties`
      Returns:
        password corresponding to the user name returned by `getUserName()`.

    - #### setPassword

          public void setPassword(java.lang.String password)

      Set password that will be used in the `getConnection()` method.
      Specified by:
        `setPassword` in interface `FirebirdConnectionProperties`
      Parameters:
        `password` - password corresponding to the user name set in `setUserName(String)`.

    - #### getEncoding

          public java.lang.String getEncoding()

      Get encoding for connections produced by this data source.
      Specified by:
        `getEncoding` in interface `FirebirdConnectionProperties`
      Returns:
        encoding for the connection.
      See Also:
        `FirebirdConnectionProperties.setEncoding(String)`

    - #### setEncoding

          public void setEncoding(java.lang.String encoding)

      Set encoding for connections produced by this data source.
      Specified by:
        `setEncoding` in interface `FirebirdConnectionProperties`
      Parameters:
        `encoding` - encoding for the connection.

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

    - #### getBlobBufferSize

          public int getBlobBufferSize()

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

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

    - #### getCharSet

          public java.lang.String getCharSet()

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

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

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

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

    - #### getNonStandardProperty

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

      Description copied from interface: `FirebirdConnectionProperties`
      Get the property that does not have corresponding getter method by its name.
      Specified by:
        `getNonStandardProperty` in interface `FirebirdConnectionProperties`
      Parameters:
        `key` - name of the property to get.
      Returns:
        value of the property.

    - #### getRoleName

          public java.lang.String getRoleName()

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

    - #### getSocketBufferSize

          public int getSocketBufferSize()

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

    - #### getSqlDialect

          public java.lang.String getSqlDialect()

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

    - #### 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`.

    - #### getType

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

    - #### getUseTranslation

          public java.lang.String getUseTranslation()

      Specified by:
        `getUseTranslation` in interface `FirebirdConnectionProperties`
      Returns:
        path to the character translation table.

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

    - #### isUseStandardUdf

          public boolean isUseStandardUdf()

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

    - #### isUseStreamBlobs

          public boolean isUseStreamBlobs()

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

    - #### setBlobBufferSize

          public void setBlobBufferSize(int bufferSize)

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

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

    - #### setCharSet

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

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

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

    - #### setNonStandardProperty

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

      Description copied from interface: `FirebirdConnectionProperties`
      Set the property that does not have corresponding setter method.
      Specified by:
        `setNonStandardProperty` in interface `FirebirdConnectionProperties`
      Parameters:
        `key` - name of the property to set.
        `value` - value of the property.

    - #### setNonStandardProperty

          public void setNonStandardProperty(java.lang.String propertyMapping)

      Description copied from interface: `FirebirdConnectionProperties`
      Set the property that does not have corresponding setter method.
      Specified by:
        `setNonStandardProperty` in interface `FirebirdConnectionProperties`
      Parameters:
        `propertyMapping` - parameter value in the ?propertyName[=propertyValue]? form, this allows setting non-standard parameters using configuration files.

    - #### setRoleName

          public void setRoleName(java.lang.String roleName)

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

    - #### setSocketBufferSize

          public void setSocketBufferSize(int socketBufferSize)

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

    - #### setSqlDialect

          public void setSqlDialect(java.lang.String sqlDialect)

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

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

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

    - #### setType

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

    - #### setUseStandardUdf

          public void setUseStandardUdf(boolean useStandardUdf)

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

    - #### setUseStreamBlobs

          public void setUseStreamBlobs(boolean useStreamBlobs)

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

    - #### setUseTranslation

          public void setUseTranslation(java.lang.String translationPath)

      Specified by:
        `setUseTranslation` in interface `FirebirdConnectionProperties`
      Parameters:
        `translationPath` - path to the character translation table.

    - #### 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')

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

    - #### 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

    - #### 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

    - #### getReference

          public javax.naming.Reference getReference()
                                              throws javax.naming.NamingException

      Get previously set JNDI reference.
      Specified by:
        `getReference` in interface `javax.naming.Referenceable`
      Returns:
        instance of `Reference` set previously.
      Throws:
        `javax.naming.NamingException` - if something went wrong.

    - #### setReference

          public void setReference(javax.naming.Reference reference)

      Set JNDI reference for this data source.
      Parameters:
        `reference` - reference to set.

    - #### getConnection

          public java.sql.Connection getConnection()
                                            throws java.sql.SQLException

      Get JDBC connection with default credentials.
      Specified by:
        `getConnection` in interface `javax.sql.DataSource`
      Returns:
        new JDBC connection.
      Throws:
        `java.sql.SQLException` - if something went wrong.

    - #### getConnection

          public java.sql.Connection getConnection(java.lang.String username,
                                          java.lang.String password)
                                            throws java.sql.SQLException

      Get JDBC connection with the specified credentials.
      Specified by:
        `getConnection` in interface `javax.sql.DataSource`
      Parameters:
        `username` - user name for the connection.
        `password` - password for the connection.
      Returns:
        new JDBC connection.
      Throws:
        `java.sql.SQLException` - if something went wrong.

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

    - #### getDescription

          public java.lang.String getDescription()

      Get description of this datasource.
      Returns:
        description of this datasource.

    - #### setDescription

          public void setDescription(java.lang.String description)

      Set description of this datasource.
      Parameters:
        `description` - description of this datasource.

    - #### getDataSource

          protected javax.sql.DataSource getDataSource()
                                                throws java.sql.SQLException

      Get underlying connection factory (in our case instance of `FBDataSource` class) that will provide JDBC connections.
      Returns:
        JDBC connection factory.
      Throws:
        `java.sql.SQLException` - if something went wrong.

    - #### isWrapperFor

          public boolean isWrapperFor(java.lang.Class<?> iface)
                               throws java.sql.SQLException

      Specified by:
        `isWrapperFor` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`

    - #### unwrap

          public <T> T unwrap(java.lang.Class<T> iface)
                   throws java.sql.SQLException

      Specified by:
        `unwrap` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`

Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.