2
respostas

[Dúvida] Generics ajuda Java

Estou fazendo uma api rest e tenho um código que vai repetir algumas vezes e pensei que poderia ter alguma forma de instanciar as classes de uma forma genérica que funcionasse pra todas

public Page<ShowProductsAdminDTO> addingFirstImageShowProductsAdminDTO(Page<Product> allProductsPageable) {
    List<ShowProductsAdminDTO> list = new ArrayList<>();
    allProductsPageable.forEach(product -> {
        try {
            Resource productImage = fileService.loadProduct(product.getProductImages().get(0));
            ShowProductsAdminDTO showProducts = new ShowProductsAdminDTO(product, productImage);
            list.add(showProducts);
        } catch (IOException e) {
            e.printStackTrace();
        }
    });
    return (Page<ShowProductsAdminDTO>) new PageImpl<>(list);
}

O que muda é só o DTO

2 respostas

.......

Não sei irmão, pelo código que vc mandou não vejo como isso se aplica ao que pedi

public Page<ShowProductsAdminDTO> addingFirstImageShowProductsAdminDTO(Page<Product> allProductsPageable) {
    List<ShowProductsAdminDTO> list = new ArrayList<>();
    allProductsPageable.forEach(product -> {
        try {
            Resource productImage = fileService.loadProduct(product.getProductImages().get(0));
            ShowProductsAdminDTO showProducts = new ShowProductsAdminDTO(product, productImage);
            list.add(showProducts);
        } catch (IOException e) {
            e.printStackTrace();
        }
    });
    return (Page<ShowProductsAdminDTO>) new PageImpl<>(list);
}

No caso eu tenho tres metodos iguais a esse código mudando apenas o DTO que retorna, em vez de ShowProductsAdminDTO é outro dto

Linguagem Java

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software