All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gruelbox.transactionoutbox.ThrowingTransactionalSupplier Maven / Gradle / Ivy

There is a newer version: 6.0.553
Show newest version
package com.gruelbox.transactionoutbox;

@FunctionalInterface
public interface ThrowingTransactionalSupplier {

  static  ThrowingTransactionalSupplier fromRunnable(
      Runnable runnable) {
    return transaction -> {
      runnable.run();
      return null;
    };
  }

  static  ThrowingTransactionalSupplier fromWork(
      ThrowingTransactionalWork work) {
    return transaction -> {
      work.doWork(transaction);
      return null;
    };
  }

  static ThrowingTransactionalSupplier fromWork(TransactionalWork work) {
    return transaction -> {
      work.doWork(transaction);
      return null;
    };
  }

  static  ThrowingTransactionalSupplier fromSupplier(
      TransactionalSupplier work) {
    return work::doWork;
  }

  T doWork(Transaction transaction) throws E;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy