/* * Hibernate OGM, Domain model persistence for NoSQL datastores * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.ogm.transaction.impl; import org.hibernate.engine.transaction.spi.IsolationDelegate; import org.hibernate.engine.transaction.spi.TransactionObserver; import org.hibernate.resource.transaction.SynchronizationRegistry; import org.hibernate.resource.transaction.TransactionCoordinator; import org.hibernate.resource.transaction.TransactionCoordinatorBuilder; /** * A {@link TransactionCoordinator} forwarding all invocations to a delegate. * * @author Gunnar Morling */ public class ForwardingTransactionCoordinator implements TransactionCoordinator { protected final TransactionCoordinator delegate; public ForwardingTransactionCoordinator(TransactionCoordinator delegate) { this.delegate = delegate; } @Override public void explicitJoin() { delegate.explicitJoin(); } @Override public boolean isJoined() { return delegate.isJoined(); } @Override public void pulse() { delegate.pulse(); } @Override public TransactionDriver getTransactionDriverControl() { return delegate.getTransactionDriverControl(); } @Override public SynchronizationRegistry getLocalSynchronizations() { return delegate.getLocalSynchronizations(); } @Override public boolean isActive() { return delegate.isActive(); } @Override public IsolationDelegate createIsolationDelegate() { return delegate.createIsolationDelegate(); } @Override public void addObserver(TransactionObserver observer) { delegate.addObserver( observer ); } @Override public void removeObserver(TransactionObserver observer) { delegate.removeObserver( observer ); } @Override public TransactionCoordinatorBuilder getTransactionCoordinatorBuilder() { return delegate.getTransactionCoordinatorBuilder(); } @Override public void setTimeOut(int seconds) { delegate.setTimeOut( seconds ); } @Override public int getTimeOut() { return delegate.getTimeOut(); } }