package regexgolf2.services.persistence.mappers;
import regexgolf2.services.persistence.database.Database;
import com.google.java.contract.Ensures;
import com.google.java.contract.Requires;
/**
* Wrapper class for all the Mapper objects needed.
* This class initializes the Mappers and provides access to high-level mappers.
*/
public class Mappers
{
private final SolutionMapper _solutionMapper;
private final RequirementMapper _requirementMapper;
private final ChallengeMapper _challengeMapper;
private final SolvableChallengeMapper _solvableChallengeMapper;
private final WordMapper _wordMapper;
@Requires("db != null")
public Mappers(Database db)
{
_solutionMapper = new SolutionMapper(db);
_requirementMapper = new RequirementMapper(db);
_challengeMapper = new ChallengeMapper(db, _requirementMapper);
_solvableChallengeMapper = new SolvableChallengeMapper(_challengeMapper, _solutionMapper);
_wordMapper = new WordMapper(db);
}
@Ensures("result != null")
public SolvableChallengeMapper getSolvableChallengeMapper()
{
return _solvableChallengeMapper;
}
@Ensures("result != null")
public WordMapper getWordMapper()
{
return _wordMapper;
}
}