CreationalSpecificationDTOAssembler.java 1.83 KB
Newer Older
akbar fauzi's avatar
akbar fauzi committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
package com.eksad.masterdata.domain.assembler;

import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.common.dto.CreationalSpecificationDTO;
import com.eksad.masterdata.domain.CreationalSpecification;

import java.util.Date;
import java.util.HashSet;
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) {
        CreationalSpecification dto = new CreationalSpecification();
        dto.setCreatedAt(dtoObject.getCreatedAt() == null ? new Date() : dtoObject.getCreatedAt());
        dto.setCreatedBy(dtoObject.getCreatedBy());
        dto.setModifiedAt(dtoObject.getModifiedAt() == null ? new Date() : dtoObject.getCreatedAt());
        dto.setModifiedBy(dtoObject.getModifiedBy());

        return dto;
    }

    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(Set<CreationalSpecificationDTO> arg0) {
        Set<CreationalSpecification> res = new HashSet<>();
        arg0.forEach((o) -> {
            res.add(toDomain(o));
        });
        return res;
    }
}