package com.example.questionbank.service.mapper; import java.util.List; import org.mapstruct.BeanMapping; import org.mapstruct.MappingTarget; import org.mapstruct.Named; import org.mapstruct.NullValuePropertyMappingStrategy; /** * Contract for a generic dto to entity mapper. * * @param - DTO type parameter. * @param - Entity type parameter. */ public interface EntityMapper { E toEntity(D dto); D toDto(E entity); List toEntity(List dtoList); List toDto(List entityList); @Named("partialUpdate") @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) void partialUpdate(@MappingTarget E entity, D dto); }