Class TransactionOptions

java.lang.Object
com.pyranid.TransactionOptions

@ThreadSafe public final class TransactionOptions extends Object
Options for a Pyranid-managed transaction.

Use this when transaction behavior differs from the defaults. For example:

database.transaction(
  TransactionOptions.withIsolation(TransactionIsolation.REPEATABLE_READ)
    .readOnly(true)
    .build(),
  () -> {
    // transactional work
  });
Since:
4.2.0
Author:
Mark Allen
  • Method Details

    • withIsolation

      public static @NonNull TransactionOptions.Builder withIsolation(@NonNull TransactionIsolation isolation)
      Starts building transaction options with a transaction isolation level.
      Parameters:
      isolation - the desired database transaction isolation level
      Returns:
      a transaction options builder
    • withReadOnly

      public static @NonNull TransactionOptions.Builder withReadOnly(@Nullable Boolean readOnly)
      Starts building transaction options with a read-only setting.

      true requests a read-only transaction, false requests a read-write transaction, and null leaves the connection's read-only state unchanged.

      Parameters:
      readOnly - read-only setting to apply
      Returns:
      a transaction options builder
    • getIsolation

      Gets the transaction isolation level.
      Returns:
      transaction isolation level
    • getReadOnly

      public @NonNull Optional<Boolean> getReadOnly()
      Gets the read-only setting to apply, if any.

      true requests a read-only transaction, false requests a read-write transaction, and empty leaves the connection's read-only state unchanged.

      Returns:
      read-only setting to apply
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public @NonNull String toString()
      Overrides:
      toString in class Object