# Interface XAConnectionBuilder

public interface XAConnectionBuilder
A builder created from a `XADataSource` object, used to establish a connection to the database that the `data source` object represents. The connection properties that were specified for the `data source` are used as the default values by the `XAConnectionBuilder`.

The following example illustrates the use of `XAConnectionBuilder` to create a `XAConnection`:

        XADataSource ds = new MyXADataSource();
        ShardingKey superShardingKey = ds.createShardingKeyBuilder()
                              .subkey("EASTERN_REGION", JDBCType.VARCHAR)
                              .build();
        ShardingKey shardingKey = ds.createShardingKeyBuilder()
                              .subkey("PITTSBURGH_BRANCH", JDBCType.VARCHAR)
                              .build();
        XAConnection con = ds.createXAConnectionBuilder()
                          .user("rafa")
                          .password("tennis")
                          .shardingKey(shardingKey)
                          .superShardingKey(superShardingKey)
                          .build();

Since:
  9

## Method Summary

Modifier and Type
Method
Description
`XAConnection`
`build()`
Returns an instance of the object defined by this builder.
`XAConnectionBuilder`
`password(String password)`
Specifies the password to be used when creating a connection
`XAConnectionBuilder`
`shardingKey(ShardingKey shardingKey)`
Specifies a `shardingKey` to be used when creating a connection
`XAConnectionBuilder`
`superShardingKey(ShardingKey superShardingKey)`
Specifies a `superShardingKey` to be used when creating a connection
`XAConnectionBuilder`
`user(String username)`
Specifies the username to be used when creating a connection

## Method Details

### user

XAConnectionBuilder user(String username)
Specifies the username to be used when creating a connection

Parameters:
  `username` - the database user on whose behalf the connection is being made
Returns:
  the same `XAConnectionBuilder` instance

### password

XAConnectionBuilder password(String password)
Specifies the password to be used when creating a connection

Parameters:
  `password` - the password to use for this connection. May be `null`
Returns:
  the same `XAConnectionBuilder` instance

### shardingKey

XAConnectionBuilder shardingKey(ShardingKey shardingKey)
Specifies a `shardingKey` to be used when creating a connection

Parameters:
  `shardingKey` - the ShardingKey. May be `null`
Returns:
  the same `XAConnectionBuilder` instance
See Also:
  - `ShardingKey`
  - `ShardingKeyBuilder`

### superShardingKey

XAConnectionBuilder superShardingKey(ShardingKey superShardingKey)
Specifies a `superShardingKey` to be used when creating a connection

Parameters:
  `superShardingKey` - the SuperShardingKey. May be `null`
Returns:
  the same `XAConnectionBuilder` instance
See Also:
  - `ShardingKey`
  - `ShardingKeyBuilder`

### build

XAConnection build() throws SQLException
Returns an instance of the object defined by this builder.

Returns:
  The built object
Throws:
  `SQLException` - If an error occurs building the object