// Path: de.hatoka.tournament/src/main/java/de/hatoka/tournament/capi/business/TournamentBusinessFactory.java
// public interface TournamentBusinessFactory
// {
//     CashGameCompetitorBO getCompetitorBO(CompetitorPO competitorPO, CashGameBO cashGameBO);
// 
//     CompetitorBO getCompetitorBO(CompetitorPO competitorPO, TournamentBO tournamentBO);
// 
//     PlayerBO getPlayerBO(PlayerPO playerPO);
// 
//     PlayerBORepository getPlayerBORepository(String accountRef);
// 
//     CashGameBO getCashGameBO(TournamentPO tournamentPO);
// 
//     TournamentBO getTournamentBO(TournamentPO tournamentPO);
// 
//     TournamentBORepository getTournamentBORepository(String accountRef);
// 
//     HistoryEntryBO getHistoryBO(HistoryPO historyPO);
// 
//     BlindLevelBO getBlindLevelBO(BlindLevelPO blindLevelPO, ITournamentBO tournament);
// 
//     PauseBO getPauseBO(BlindLevelPO blindLevelPO, ITournamentBO tournament);
// 
//     RankBO getRankBO(RankPO rankPO, TournamentBO tournamentBO);
// 
//     ITableBO getTableBO(int tableNo);
// }
// 
// Path: de.hatoka.tournament/src/main/java/de/hatoka/tournament/internal/business/TournamentBusinessFactoryImpl.java
// public class TournamentBusinessFactoryImpl implements TournamentBusinessFactory
// {
//     @Inject
//     private TournamentDao tournamentDao;
// 
//     @Inject
//     private PlayerDao playerDao;
// 
//     @Inject
//     private CompetitorDao competitorDao;
// 
//     @Inject
//     private HistoryDao historyDao;
// 
//     @Inject
//     private BlindLevelDao blindLevelDao;
// 
//     @Inject
//     private RankDao rankDao;
// 
//     @Inject
//     private Provider<Date> dateProvider;
// 
//     @Inject
//     private UUIDGenerator uuidGenerator;
// 
//     @Inject
//     private SequenceProvider sequenceProvider;
// 
//     @Inject
//     private TransactionProvider transactionProvider;
// 
//     @Override
//     public CashGameCompetitorBO getCompetitorBO(CompetitorPO competitorPO, CashGameBO cashGameBO)
//     {
//         return new CompetitorBOImpl(competitorPO, cashGameBO, historyDao, dateProvider, this);
//     }
// 
//     @Override
//     public CompetitorBO getCompetitorBO(CompetitorPO competitorPO, TournamentBO tournamentBO)
//     {
//         return new CompetitorBOImpl(competitorPO, tournamentBO, historyDao, dateProvider, this);
//     }
// 
//     @Override
//     public PlayerBO getPlayerBO(PlayerPO playerPO)
//     {
//         return new PlayerBOImpl(playerPO, playerDao, this);
//     }
// 
//     @Override
//     public PlayerBORepository getPlayerBORepository(String accountRef)
//     {
//         return new PlayerBORepositoryImpl(accountRef, playerDao, sequenceProvider.create(accountRef), this);
//     }
// 
//     @Override
//     public CashGameBO getCashGameBO(TournamentPO tournamentPO)
//     {
//         return new CashGameBOImpl(tournamentPO, tournamentDao, competitorDao, playerDao, this);
//     }
// 
//     @Override
//     public TournamentBO getTournamentBO(TournamentPO tournamentPO)
//     {
//         return new TournamentBOImpl(tournamentPO, tournamentDao, competitorDao, playerDao, blindLevelDao, rankDao, dateProvider, this);
//     }
// 
//     @Override
//     public TournamentBORepository getTournamentBORepository(String accountRef)
//     {
//         return new TournamentBORepositoryImpl(accountRef, tournamentDao, playerDao, competitorDao, blindLevelDao, historyDao, rankDao, sequenceProvider.create(accountRef), uuidGenerator, transactionProvider, this);
//     }
// 
//     @Override
//     public HistoryEntryBO getHistoryBO(HistoryPO historyPO)
//     {
//         return new HistoryEntryBOImpl(historyPO);
//     }
// 
//     @Override
//     public BlindLevelBO getBlindLevelBO(BlindLevelPO blindLevelPO, ITournamentBO tournament)
//     {
//         return new BlindLevelBOImpl(blindLevelPO, tournament, dateProvider);
//     }
// 
//     @Override
//     public PauseBO getPauseBO(BlindLevelPO blindLevelPO, ITournamentBO tournament)
//     {
//         return new PauseBOImpl(blindLevelPO, tournament, dateProvider);
//     }
// 
//     @Override
//     public RankBO getRankBO(RankPO rankPO, TournamentBO tournamentBO)
//     {
//         return new RankBOImpl(rankPO, tournamentBO);
//     }
// 
//     @Override
//     public ITableBO getTableBO(int tableNo)
//     {
//         return new TableBOImpl(tableNo);
//     }
// }


import com.google.inject.Binder;
import com.google.inject.Module;
import de.hatoka.tournament.capi.business.TournamentBusinessFactory;
import de.hatoka.tournament.internal.business.TournamentBusinessFactoryImpl;
package de.hatoka.tournament.modules;



public class TournamentBusinessModule implements Module
{

    @Override
    public void configure(Binder binder)
    {
// Path: de.hatoka.tournament/src/main/java/de/hatoka/tournament/capi/business/TournamentBusinessFactory.java
// public interface TournamentBusinessFactory
// {
//     CashGameCompetitorBO getCompetitorBO(CompetitorPO competitorPO, CashGameBO cashGameBO);
// 
//     CompetitorBO getCompetitorBO(CompetitorPO competitorPO, TournamentBO tournamentBO);
// 
//     PlayerBO getPlayerBO(PlayerPO playerPO);
// 
//     PlayerBORepository getPlayerBORepository(String accountRef);
// 
//     CashGameBO getCashGameBO(TournamentPO tournamentPO);
// 
//     TournamentBO getTournamentBO(TournamentPO tournamentPO);
// 
//     TournamentBORepository getTournamentBORepository(String accountRef);
// 
//     HistoryEntryBO getHistoryBO(HistoryPO historyPO);
// 
//     BlindLevelBO getBlindLevelBO(BlindLevelPO blindLevelPO, ITournamentBO tournament);
// 
//     PauseBO getPauseBO(BlindLevelPO blindLevelPO, ITournamentBO tournament);
// 
//     RankBO getRankBO(RankPO rankPO, TournamentBO tournamentBO);
// 
//     ITableBO getTableBO(int tableNo);
// }
// 
// Path: de.hatoka.tournament/src/main/java/de/hatoka/tournament/internal/business/TournamentBusinessFactoryImpl.java
// public class TournamentBusinessFactoryImpl implements TournamentBusinessFactory
// {
//     @Inject
//     private TournamentDao tournamentDao;
// 
//     @Inject
//     private PlayerDao playerDao;
// 
//     @Inject
//     private CompetitorDao competitorDao;
// 
//     @Inject
//     private HistoryDao historyDao;
// 
//     @Inject
//     private BlindLevelDao blindLevelDao;
// 
//     @Inject
//     private RankDao rankDao;
// 
//     @Inject
//     private Provider<Date> dateProvider;
// 
//     @Inject
//     private UUIDGenerator uuidGenerator;
// 
//     @Inject
//     private SequenceProvider sequenceProvider;
// 
//     @Inject
//     private TransactionProvider transactionProvider;
// 
//     @Override
//     public CashGameCompetitorBO getCompetitorBO(CompetitorPO competitorPO, CashGameBO cashGameBO)
//     {
//         return new CompetitorBOImpl(competitorPO, cashGameBO, historyDao, dateProvider, this);
//     }
// 
//     @Override
//     public CompetitorBO getCompetitorBO(CompetitorPO competitorPO, TournamentBO tournamentBO)
//     {
//         return new CompetitorBOImpl(competitorPO, tournamentBO, historyDao, dateProvider, this);
//     }
// 
//     @Override
//     public PlayerBO getPlayerBO(PlayerPO playerPO)
//     {
//         return new PlayerBOImpl(playerPO, playerDao, this);
//     }
// 
//     @Override
//     public PlayerBORepository getPlayerBORepository(String accountRef)
//     {
//         return new PlayerBORepositoryImpl(accountRef, playerDao, sequenceProvider.create(accountRef), this);
//     }
// 
//     @Override
//     public CashGameBO getCashGameBO(TournamentPO tournamentPO)
//     {
//         return new CashGameBOImpl(tournamentPO, tournamentDao, competitorDao, playerDao, this);
//     }
// 
//     @Override
//     public TournamentBO getTournamentBO(TournamentPO tournamentPO)
//     {
//         return new TournamentBOImpl(tournamentPO, tournamentDao, competitorDao, playerDao, blindLevelDao, rankDao, dateProvider, this);
//     }
// 
//     @Override
//     public TournamentBORepository getTournamentBORepository(String accountRef)
//     {
//         return new TournamentBORepositoryImpl(accountRef, tournamentDao, playerDao, competitorDao, blindLevelDao, historyDao, rankDao, sequenceProvider.create(accountRef), uuidGenerator, transactionProvider, this);
//     }
// 
//     @Override
//     public HistoryEntryBO getHistoryBO(HistoryPO historyPO)
//     {
//         return new HistoryEntryBOImpl(historyPO);
//     }
// 
//     @Override
//     public BlindLevelBO getBlindLevelBO(BlindLevelPO blindLevelPO, ITournamentBO tournament)
//     {
//         return new BlindLevelBOImpl(blindLevelPO, tournament, dateProvider);
//     }
// 
//     @Override
//     public PauseBO getPauseBO(BlindLevelPO blindLevelPO, ITournamentBO tournament)
//     {
//         return new PauseBOImpl(blindLevelPO, tournament, dateProvider);
//     }
// 
//     @Override
//     public RankBO getRankBO(RankPO rankPO, TournamentBO tournamentBO)
//     {
//         return new RankBOImpl(rankPO, tournamentBO);
//     }
// 
//     @Override
//     public ITableBO getTableBO(int tableNo)
//     {
//         return new TableBOImpl(tableNo);
//     }
// }


// Path: de.hatoka.tournament/src/main/java/de/hatoka/tournament/modules/TournamentBusinessModule.java
import com.google.inject.Binder;
import com.google.inject.Module;
import de.hatoka.tournament.capi.business.TournamentBusinessFactory;
import de.hatoka.tournament.internal.business.TournamentBusinessFactoryImpl;

package de.hatoka.tournament.modules;



public class TournamentBusinessModule implements Module
{

    @Override
    public void configure(Binder binder)
    {
        binder.bind(TournamentBusinessFactory.class).to(TournamentBusinessFactoryImpl.class).asEagerSingleton();