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}