package org.ourgrid.broker.business.dao;
import org.ourgrid.broker.communication.dao.BrokerMessageProcessorDAO;
/**
* Requirement 302
*/
public class BrokerDAOFactory {
private static BrokerDAOFactory daoFactory;
private JobCounterDAO jobCounterDAO;
private JobDAO jobDAO;
private PeerDAO peerDAO;
private WorkerDAO workerDAO;
private BrokerMessageProcessorDAO brokerMessageProcessorDAO;
private BrokerDAOFactory() {}
public static BrokerDAOFactory getInstance() {
if (daoFactory == null)
daoFactory = new BrokerDAOFactory();
return daoFactory;
}
public JobCounterDAO getJobCounterDAO() {
if(jobCounterDAO == null){
jobCounterDAO = new JobCounterDAO();
}
return jobCounterDAO;
}
public JobDAO getJobDAO() {
if(jobDAO == null){
jobDAO = new JobDAO();
}
return jobDAO;
}
public PeerDAO getPeerDAO() {
if(peerDAO == null){
peerDAO = new PeerDAO();
}
return peerDAO;
}
public WorkerDAO getWorkerDAO() {
if (workerDAO == null) {
workerDAO = new WorkerDAO();
}
return workerDAO;
}
public BrokerMessageProcessorDAO getBrokerMessageProcessorDAO() {
if (brokerMessageProcessorDAO == null) {
brokerMessageProcessorDAO = new BrokerMessageProcessorDAO();
}
return brokerMessageProcessorDAO;
}
public void reset() {
jobCounterDAO = null;
jobDAO = null;
peerDAO = null;
workerDAO = null;
brokerMessageProcessorDAO = null;
}
}