Module java.sql
Package javax.sql

## 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")
                           .setShardingKey(shardingKey)
                           .setSuperShardingKey(superShardingKey)
                           .build();

Since:
  9

### Method Summary

All Methods Instance Methods Abstract Methods
`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 Detail

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