/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.siso.horario.DAO;

import pe.siso.horario.MySqlDAO.MySqlDAOFactory;


/**
 *
 * @author usuario
 */
public abstract class DAOFactory {
    public static final int MYSQL = 1;
    public static final int ORACLE = 2;
    public static final int DB2 = 3;
    public static final int SQLSERVER = 4;
    public static final int XML = 5;
    
  
    
    public static DAOFactory getDAOFactory(int whichFactory){
       switch(whichFactory){
	      	case MYSQL:
	       	    return new MySqlDAOFactory();
	       	/*case SQLSERVER:
	       	    return new SqlServerDAOFactory();
	       	case ORACLE:
	       	    return new OracleDAOFactory();
	       	case DB2:
	       	    return new Db2DAOFactory();
	       	case SQLSERVER:
	       	    return new SqlServerDAOFactory();
	       	case XML:
	       	    return new XmlDAOFactory();*/
	       	default:
	       	    return null;
       }
    }
    
    public abstract UsuarioDAO getUsuarioDAO();
    public abstract ModuloDAO getModuloDAO();
    public abstract CategoriaDAO getCategoriaDAO();
    public abstract AulaDAO getAulaDAO();
    public abstract TipoCentroDAO getTipoCentroDAO();
    public abstract CentroDAO getCentroDAO();
    public abstract NivelDAO getNivelDAO();
    public abstract TipoGradoDAO getTipoGradoDAO();
    public abstract GradoDAO getGradoDAO();
    public abstract SeccionDAO getSeccionDAO();
    public abstract SedeDAO getSedeDAO();
    public abstract TurnoDAO getTurnoDAO();
    public abstract AreaDAO getAreaDAO();
    public abstract PlanaDAO getPlanaDAO();
    public abstract CursoDAO getCursoDAO();
    public abstract DocenteDAO getDocenteDAO();
    public abstract BloqueDAO getBloqueDAO();
    public abstract AreaDocenteDAO getAreaDocenteDAO();
    public abstract HorarioDAO getHorarioDAO();
    public abstract DisponibilidadDocenteDAO getDisponibilidadDAO();
    public abstract BloqueInicialPrimariaDAO getBloqueInicialPrimariaDAO();
    public abstract UsuarioDocenteDAO getUsuarioDocenteDAO();
    public abstract UbigeoDocenteDAO getUbigeoDocenteDAO();
    public abstract PeriodoAcademicoDAO getPeriodoAcademicoDAO();
    public abstract ClaseDAO getClaseDAO();
    public abstract ReporteEncuestaDAO getReporteEncuestaDAO();
    public abstract ZonaDAO getZonaDAO();
    public abstract  ZonaSedeDAO getZonaSedeDAO();
    public abstract ZonaDistritoDAO getZonaDistritoDAO();
    public abstract MeritoDAO getMeritoDAO();
    public abstract PlanaDocenteDAO getPlanaDocenteDAO();
}
