package fr.mch.mdo.restaurant.services.business.managers.orders;
import fr.mch.mdo.logs.ILogger;
import fr.mch.mdo.restaurant.dao.IDaoServices;
import fr.mch.mdo.restaurant.dao.orders.hibernate.DefaultOrderLinesDao;
import fr.mch.mdo.restaurant.services.business.managers.AbstractAdministrationManager;
import fr.mch.mdo.restaurant.services.business.managers.assembler.DefaultOrderLinesAssembler;
import fr.mch.mdo.restaurant.services.business.managers.tables.IOrderLinesManager;
import fr.mch.mdo.restaurant.services.logs.LoggerServiceImpl;
import fr.mch.mdo.utils.IManagerAssembler;
public class DefaultOrderLinesManager extends AbstractAdministrationManager implements IOrderLinesManager
{
private static class LazyHolder {
private static IOrderLinesManager instance = new DefaultOrderLinesManager(
LoggerServiceImpl.getInstance().getLogger(DefaultOrderLinesManager.class.getName()),
DefaultOrderLinesDao.getInstance(), DefaultOrderLinesAssembler.getInstance());
}
private DefaultOrderLinesManager(ILogger logger, IDaoServices dao, IManagerAssembler assembler) {
super.logger = logger;
super.dao = dao;
super.assembler = assembler;
}
/**
* This constructor is used by ioc
*/
public DefaultOrderLinesManager() {
}
public static IOrderLinesManager getInstance() {
return LazyHolder.instance;
}
}