001package net.sf.hajdbc.invocation;
002
003import java.util.concurrent.ExecutorService;
004
005import net.sf.hajdbc.Database;
006import net.sf.hajdbc.DatabaseCluster;
007import net.sf.hajdbc.invocation.AllResultsCollector.ExecutorProvider;
008
009public class TransactionalExecutorProvider implements ExecutorProvider
010{
011        private final boolean end;
012        
013        public TransactionalExecutorProvider(boolean end)
014        {
015                this.end = end;
016        }
017        
018        @Override
019        public <Z, D extends Database<Z>> ExecutorService getExecutor(DatabaseCluster<Z, D> cluster)
020        {
021                return cluster.getTransactionMode().getTransactionExecutor(cluster.getExecutor(), this.end);
022        }
023}