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

io.mongock.driver.api.driver.ConnectionDriver Maven / Gradle / Ivy

package io.mongock.driver.api.driver;

import io.mongock.driver.api.common.Validable;
import io.mongock.driver.api.entry.ChangeEntry;
import io.mongock.driver.api.entry.ChangeEntryService;
import io.mongock.driver.api.lock.LockManager;

import java.util.Optional;
import java.util.Set;

public interface ConnectionDriver extends Validable, DriverLegaciable {
  void initialize();

  LockManager getLockManager();

  ChangeEntryService getChangeEntryService();

  /**
   * This method will be called just before executing a changeSet, for all the changeSets, pulling all the refreshed dependencies
   * @return the dependencies from the driver
   */
  Set getDependencies();

  default void prepareForExecutionBlock() {
  }

  /**
   * If transaction available, returns the Transactioner
   *
   * @return the Transactioner
   */
  Optional getTransactioner();

  default boolean isTransactionable() {
    return getTransactioner().isPresent();
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy