package br.ufpr.c3sl.daoFactory;
import br.ufpr.c3sl.dao.HitDAO;
import br.ufpr.c3sl.dao.MistakeDAO;
import br.ufpr.c3sl.dao.RetroactionDAO;
import br.ufpr.c3sl.dao.UserDAO;
//Abstract class DAO Factory
public abstract class DAOFactory {
public static final int MYSQL = 1;
public static final int DB4O = 2;
public static int DATABASE_CHOOSE;
/*
* There will be a method for each DAO that can be
* created. The concrete factories will have to
* implement these methods.
*/
public abstract UserDAO getUserDAO();
public abstract MistakeDAO getMistakeDAO();
public abstract RetroactionDAO getRetroactionDAO();
public abstract HitDAO getHitDAO();
public static DAOFactory getDAOFactory(
int whichFactory) {
switch (whichFactory) {
case MYSQL:
return new MysqlDAOFactory();
case DB4O :
return new DB4ODAOFactory();
default :
return null;
}
}
}