Utile pour transformer Entity to DTO
exemple
Person p = QuickMapper.map(personDto,Person.class)
List<Person> pList = QuickMapper.mapList(personDtoList,Person.class)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.http.HttpStatus;
import org.springframework.web.server.ResponseStatusException;
import java.util.List;
import java.util.stream.Collectors;
public class QuickMapper {
private static final Logger log = LoggerFactory.getLogger(QuickMapper.class);
private QuickMapper() {
}
@SuppressWarnings("java:S1874") // Reason -> Java 11
public static <T, U> U map(T src, Class<U> target) {
try {
U u = target.newInstance();
BeanUtils.copyProperties(src, u);
return u;
} catch (IllegalAccessException | InstantiationException | BeanCreationException e) {
log.error("QuickMapper", e);
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, HttpStatus.BAD_REQUEST.getReasonPhrase());
}
}
public static <T, U> List<U> mapList(List<T> lst, Class<U> target) {
return lst.stream().map(obj -> QuickMapper.map(obj, target)).collect(Collectors.toList());
}