Module org.firebirdsql.jaybird
Package org.firebirdsql.ds

# Class FBXADataSource

java.lang.Object
org.firebirdsql.ds.RootCommonDataSource
org.firebirdsql.ds.AbstractConnectionPropertiesDataSource
org.firebirdsql.ds.FBAbstractCommonDataSource
org.firebirdsql.ds.FBXADataSource

All Implemented Interfaces:
  `Referenceable`, `CommonDataSource`, `XADataSource`, `AttachmentProperties`, `BaseProperties`, `DatabaseConnectionProperties`, `FirebirdConnectionProperties`

public class FBXADataSource extends FBAbstractCommonDataSource implements XADataSource, Referenceable
Bare-bones implementation of `XADataSource`.

Since:
  2.2
Author:
  Mark Rotteveel

- ## Field Summary

  ### Fields inherited from class org.firebirdsql.ds.FBAbstractCommonDataSource

  `REF_DESCRIPTION, REF_PROPERTIES`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FBXADataSource()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `checkNotStarted()`
  Method to check if this DataSource has not yet started.
  `Reference`
  `getReference()`
  `XAConnection`
  `getXAConnection()`
  `XAConnection`
  `getXAConnection(String user, String password)`

  ### Methods inherited from class org.firebirdsql.ds.FBAbstractCommonDataSource

  `connectionPropertyValues, getBooleanProperty, getConnectionProperties, getDescription, getIntProperty, getProperty, getTransactionParameters, setBooleanProperty, setConnectionProperties, setDescription, setIntProperty, setNonStandardProperty, setProperty, setTransactionParameters, updateReference, withLock`

  ### Methods inherited from class org.firebirdsql.ds.AbstractConnectionPropertiesDataSource

  `getAuthPlugins, getBlobBufferSize, getCharSet, getConnectTimeout, getDatabaseName, getDataTypeBind, getDbCryptConfig, getDecfloatRound, getDecfloatTraps, getDefaultIsolation, getDefaultTransactionIsolation, getEnableProtocol, getEncoding, getGeneratedKeysEnabled, getLoginTimeout, getMaxBlobCacheSize, getMaxInlineBlobSize, getPageCacheSize, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getReportSQLWarnings, getRoleName, getScrollableCursor, getServerBatchBufferSize, getServerName, getSessionTimeZone, getSocketBufferSize, getSocketFactory, getSoTimeout, getSqlDialect, getTpbMapping, getType, getUser, getUserName, getWireCrypt, isAllowTxStmts, isAsyncFetch, isColumnLabelForName, isCreateDatabaseIfNotExist, isDefaultResultSetHoldable, isExtendedMetadata, isIgnoreProcedureType, isUseCatalogAsPackage, isUseFirebirdAutocommit, isUseServerBatch, isUseStreamBlobs, isWireCompression, setAllowTxStmts, setAsyncFetch, setAuthPlugins, setBlobBufferSize, setCharSet, setColumnLabelForName, setConnectTimeout, setCreateDatabaseIfNotExist, setDatabaseName, setDataTypeBind, setDbCryptConfig, setDecfloatRound, setDecfloatTraps, setDefaultIsolation, setDefaultResultSetHoldable, setDefaultTransactionIsolation, setEnableProtocol, setEncoding, setExtendedMetadata, setGeneratedKeysEnabled, setIgnoreProcedureType, setLoginTimeout, setMaxBlobCacheSize, setMaxInlineBlobSize, setPageCacheSize, setParallelWorkers, setPassword, setPortNumber, setProcessId, setProcessName, setReportSQLWarnings, setRoleName, setScrollableCursor, setServerBatchBufferSize, setServerName, setSessionTimeZone, setSocketBufferSize, setSocketFactory, setSoTimeout, setSqlDialect, setTpbMapping, setType, setUseCatalogAsPackage, setUseFirebirdAutocommit, setUser, setUserName, setUseServerBatch, setUseStreamBlobs, setWireCompression, setWireCrypt`

  ### 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 org.firebirdsql.jaybird.props.BaseProperties

  `getBooleanProperty, getIntProperty, getProperty`

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

  `createShardingKeyBuilder, getParentLogger`

  ### Methods inherited from interface javax.sql.XADataSource

  `createXAConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter`

- ## Constructor Details

  - ### FBXADataSource

    public FBXADataSource()

- ## Method Details

  - ### getXAConnection

    public XAConnection getXAConnection() throws SQLException
    Specified by:
      `getXAConnection` in interface `XADataSource`
    Throws:
      `SQLException`

  - ### getXAConnection

    public XAConnection getXAConnection(String user, String password) throws SQLException
    Specified by:
      `getXAConnection` in interface `XADataSource`
    Throws:
      `SQLException`

  - ### checkNotStarted

    protected void checkNotStarted() throws IllegalStateException
    Description copied from class: `FBAbstractCommonDataSource`
    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.

    Specified by:
      `checkNotStarted` in class `FBAbstractCommonDataSource`
    Throws:
      `IllegalStateException` - When the DataSource is already in use

  - ### getReference

    public Reference getReference() throws NamingException
    Specified by:
      `getReference` in interface `Referenceable`
    Throws:
      `NamingException`