package net.olemartin.engine;
import net.olemartin.domain.Player;
import net.olemartin.domain.Randomizer;
public class TournamentEngineFactory {
private enum EngineType {ROUND_ROBIN, MONRAD}
public static TournamentEngine getEngine(Randomizer randomizer, Iterable<Player> players, String engineType) {
EngineType type = EngineType.valueOf(engineType);
switch (type) {
case ROUND_ROBIN:
return new RoundRobinEngine(players);
case MONRAD:
return new MonradEngine(players);
default:
throw new IllegalArgumentException();
}
}
}