PerexGroupBeanToPerexGroupsEntityMapper.java
package sk.iway.iwcm.components.perex_groups;
import java.util.List;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;
import sk.iway.iwcm.doc.PerexGroupBean;
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface PerexGroupBeanToPerexGroupsEntityMapper {
PerexGroupBeanToPerexGroupsEntityMapper INSTANCE = Mappers.getMapper(PerexGroupBeanToPerexGroupsEntityMapper.class);
@Mapping(source = "perexGroupId", target = "id", qualifiedByName = "intToLong")
@Mapping(source = "relatedPages", target = "relatedPages", qualifiedByName = "tokensToString")
PerexGroupsEntity perexGroupBeanToPerexGroupsEntity(PerexGroupBean perexGroupBean);
List<PerexGroupsEntity> perexGroupBeanListToPerexGroupsEntityList(List<PerexGroupBean> perexGroupBeanList);
@Named("intToLong")
default Long intToLong(int id) {
return Long.valueOf(id);
}
@Named("tokensToString")
default String tokensToString(String[] relatedPages) {
if(relatedPages.length < 1) return "";
return String.join(",", relatedPages);
}
@Mapping(source = "id", target = "perexGroupId", qualifiedByName = "longToInt")
PerexGroupBean perexGroupsEntityToPerexGroupBean (PerexGroupsEntity perexGroupsEntity);
List<PerexGroupBean> perexGroupsEntityListToPerexGroupBeanList (List<PerexGroupsEntity> perexGroupsEntityList);
@Named("longToInt")
default int longToInt(Long id) {
return id.intValue();
}
}