package fr.mch.mdo.restaurant.services.business.managers.assembler; import fr.mch.mdo.logs.ILogger; import fr.mch.mdo.logs.ILoggerBean; import fr.mch.mdo.restaurant.beans.IMdoDaoBean; import fr.mch.mdo.restaurant.beans.IMdoDtoBean; import fr.mch.mdo.restaurant.dao.beans.MdoTableAsEnum; import fr.mch.mdo.restaurant.dto.beans.MdoTableAsEnumDto; import fr.mch.mdo.restaurant.services.logs.LoggerServiceImpl; import fr.mch.mdo.utils.IManagerAssembler; public class DefaultMdoTableAsEnumsAssembler extends AbstractAssembler implements IManagerAssembler, ILoggerBean { private ILogger logger; private static class LazyHolder { private static IManagerAssembler instance = new DefaultMdoTableAsEnumsAssembler( LoggerServiceImpl.getInstance().getLogger(DefaultMdoTableAsEnumsAssembler.class.getName())); } private DefaultMdoTableAsEnumsAssembler(ILogger logger) { this.setLogger(logger); } public static IManagerAssembler getInstance() { return LazyHolder.instance; } public DefaultMdoTableAsEnumsAssembler() { } @Override public IMdoDtoBean marshal(IMdoDaoBean daoBean) { MdoTableAsEnumDto dto = null; if (daoBean != null) { MdoTableAsEnum bean = (MdoTableAsEnum) daoBean; dto = new MdoTableAsEnumDto(); dto.setId(bean.getId()); dto.setDefaultLabel(bean.getDefaultLabel()); dto.setLanguageKeyLabel(bean.getLanguageKeyLabel()); dto.setName(bean.getName()); dto.setOrder(bean.getOrder()); // dto.setType(bean.getType().getValue()); dto.setType(bean.getType()); } return dto; } @Override public IMdoDaoBean unmarshal(IMdoDtoBean dtoBean, IMdoDaoBean... parents) { if (dtoBean == null) { return null; } MdoTableAsEnum bean = new MdoTableAsEnum(); MdoTableAsEnumDto dto = (MdoTableAsEnumDto) dtoBean; bean.setId(dto.getId()); bean.setDefaultLabel(dto.getDefaultLabel()); bean.setLanguageKeyLabel(dto.getLanguageKeyLabel()); bean.setName(dto.getName()); bean.setOrder(dto.getOrder()); //bean.setType(new MdoString(dto.getType())); bean.setType(dto.getType()); return bean; } @Override public ILogger getLogger() { return logger; } @Override public void setLogger(ILogger logger) { this.logger = logger; } }