# Class TransactionOptions.Builder (5.0.3)

    public static final class TransactionOptions.Builder

Contains static creation methods for [TransactionOptions](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions).

## Inheritance

[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> TransactionOptions.Builder

## Inherited Members

[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) [Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) [Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

## Static Methods

### allowMultipleEntityGroups(boolean enable) (deprecated)

    public static TransactionOptions allowMultipleEntityGroups(boolean enable)

**Deprecated.** *Use `Builder.withDefaults().setXG(enable)` instead.*

See [#withXG](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions.Builder#com_google_appengine_api_datastore_TransactionOptions_Builder_withXG_).

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `enable` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions` |   |

### withDefaults()

    public static TransactionOptions withDefaults()

Helper method for creating a [TransactionOptions](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions) instance with default values. The
defaults is false (disabled) for XG.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions` |   |

### withPreviousTransaction(Transaction previousTransaction)

    public static TransactionOptions withPreviousTransaction(Transaction previousTransaction)

Shorthand for `
TransactionOptions.withTransactionMode(Mode.READ_WRITE).setPreviousTransaction(...);
`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `previousTransaction` | `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.Transaction` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions` |   |

### withTransactionMode(TransactionOptions.Mode mode)

    public static TransactionOptions withTransactionMode(TransactionOptions.Mode mode)

Shorthand for `TransactionOptions.withDefaults().setTransactionMode(...);`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `mode` | `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions.Mode` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions` |   |

### withXG(boolean enable)

    public static TransactionOptions withXG(boolean enable)

Create a [TransactionOptions](https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions) that enables or disables the use of cross-group
transactions. Shorthand for `TransactionOptions.withDefaults().setXG(...);`

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `enable` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` true to allow cross-group transactions, false to restrict transactions to a single entity group. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.datastore.TransactionOptions` | `this` (for chaining) |