Olá pessoal!
Estou implementando um serviço onde terei de ‘setar’ os valores de acordo com os dados recebidos.
Fiz a tomada de decisão utilizando ‘ifs’ mas não achei muito eficiente e além do código ter ficado verboso demais.
Alguem conhece alguma maneira mais simples de fazer esta tomada de descição, que não
seja switch?
Exemplo:
public Venda mapper(DadosVenda dados) {
Venda venda = new Venda();
if (dados.getMetodo().equals(Metodo.CARTAO_CREDITO)) {
venda.setMeioPagamento(Metodo.CARTAO_CREDITO);
venda.setCartaoCredito(objectMapper.convertValue(dados.getDados(), CretaoCredito.class));
} else if (dados.getMetodo().equals(Metodo.CARTAO_DEBITO)) {
venda.setMeioPagamento(Metodo.CARTAO_DEBITO);
venda.setCartaoDebito(objectMapper.convertValue(dados.getDados(), CretaoDebito.class));
} else if (dados.getMetodo().equals(Metodo.BOLETO)) {
venda.setMeioPagamento(Metodo.BOLETO);
venda.setBoleto(objectMapper.convertValue(dados.getDados(), Boleto.class));
}
return venda;
}