package com.eksad.masterdata.domain.assembler; import com.eksad.ddms.common.dto.CreationalSpecificationDTO; import com.eksad.ddms.common.util.object.IObjectAssembler; import com.eksad.masterdata.common.CreationalSpecificationBuilder; import com.eksad.masterdata.domain.CreationalSpecification; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; public class CreationalSpecificationDTOAssembler implements IObjectAssembler<CreationalSpecification, CreationalSpecificationDTO> { @Override public CreationalSpecificationDTO toDTO(CreationalSpecification domainObject) { CreationalSpecificationDTO dto = new CreationalSpecificationDTO(); dto.setCreatedAt(domainObject.getCreatedAt()); dto.setCreatedBy(domainObject.getCreatedBy()); dto.setModifiedAt(domainObject.getModifiedAt()); dto.setModifiedBy(domainObject.getModifiedBy()); return dto; } @Override public CreationalSpecification toDomain(CreationalSpecificationDTO dtoObject) { return new CreationalSpecificationBuilder() .setCreatedAt(dtoObject.getCreatedAt() == null ? new Date() : dtoObject.getCreatedAt()) .setCreatedBy(dtoObject.getCreatedBy()) .setModifiedAt(dtoObject.getModifiedAt() == null ? new Date() : dtoObject.getModifiedAt()) .setModifiedBy(dtoObject.getModifiedBy()) .createCreationalSpecification(); } public Set<CreationalSpecificationDTO> toDTOs(Set<CreationalSpecification> arg0) { Set<CreationalSpecificationDTO> res = new HashSet<>(); arg0.forEach((o) -> { res.add(toDTO(o)); }); return res; } public Set<CreationalSpecification> toDomains(List<CreationalSpecificationDTO> arg0) { Set<CreationalSpecification> res = new HashSet<>(); arg0.forEach((o) -> { res.add(toDomain(o)); }); return res; } }