001package co.codewizards.cloudstore.core.repo.local; 002 003import static java.util.Objects.*; 004 005public abstract class AbstractLocalRepoTransactionListener implements LocalRepoTransactionListener { 006 007 private LocalRepoTransaction transaction; 008 009 @Override 010 public int getPriority() { 011 return 0; 012 } 013 014 @Override 015 public LocalRepoTransaction getTransaction() { 016 return transaction; 017 } 018 019 protected LocalRepoTransaction getTransactionOrFail() { 020 final LocalRepoTransaction transaction = getTransaction(); 021 requireNonNull(transaction, "transaction"); 022 return transaction; 023 } 024 025 @Override 026 public void setTransaction(final LocalRepoTransaction transaction) { 027 this.transaction = transaction; 028 } 029 030 @Override 031 public void onBegin() { 032 // override to react on this! 033 } 034 035 @Override 036 public void onCommit() { 037 // override to react on this! 038 } 039 040 @Override 041 public void onRollback() { 042 // override to react on this! 043 } 044 045}