Eu tenho um predicado que eu uso para filtrar uma lista do mesmo objeto de entidade:
Predicate<DWHDeal> companyFilter = i -> i.getCompany().equals(company);
Também preciso aplicar o mesmo filtro, com a mesma condição exata no mesmo campo, em uma lista de DTOs em que o DTOS é criado com base na entidade anterior:
Predicate<DWHDealDTO> companyFilterDTO = i -> i.getCompany().equals(company);
É possível conseguir isso sem instanciar dois predicados diferentes? Se possível, eu gostaria de conseguir isso fazendo apenas um Predicate.
getCompany()o mesmo tipo nos dois casos?
Predicatecom uma classe comum ou tentar escrever um método que aceite ambos DWHDeale DWHDealDTO, como parâmetro. Se essas classes não tiverem interface ou superclasse comum declarando um método comum, elas não terão um método comum, apenas dois métodos não relacionados que tenham o mesmo nome.
DWHDealDTOeDWHDealrelacionados? (como estender a mesma classe)