Package org.multiverse.api

## Interface TxnFactory

- All Known Subinterfaces:
    `GammaTxnFactory`

      public interface TxnFactory

  A Factory responsible for creating a `Txn`. To set properties on Transactions you need to look at the `TxnFactoryBuilder`. It could be that over time different types of transactions are returned, e.g. because the speculative behavior is enabled.

  ### Thread safety

  A TxnFactory is thread-safe and it is expected to be shared between threads (doesn't impose it, but it is the most logical use case). It also is expected to be re-used instead of recreated.

  See Also:
    `TxnFactoryBuilder`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TxnConfig` | `getConfig()` | Gets the `TxnConfig` used by this TxnFactory.
    `TxnFactoryBuilder` | `getTxnFactoryBuilder()` |
    `Txn` | `newTxn()` | Creates a new `Txn`.

- - ### Method Detail

    - #### getConfig

          TxnConfig getConfig()

      Gets the `TxnConfig` used by this TxnFactory.
      Returns:
        the TxnConfig.

    - #### getTxnFactoryBuilder

          TxnFactoryBuilder getTxnFactoryBuilder()

    - #### newTxn

          Txn newTxn()

      Creates a new `Txn`.
      Returns:
        the created Txn.