Tengo FinanceRequests and CommisionTransactions en mi dominio. Si tengo una lista de FinanceRequests, cada FinanceRequest podría contener múltiples CommisionTransactions que deben recuperarse. No te preocupes cómo exactamente se hace eso.Borrado de Java con sobrecarga genérica (no anula)
La clase de abajo (muy abajo) me hace sentir todo borroso y cálido desde su suceso y reutiliza el código existente muy bien. Un problema Tipo de borrado.
public void clawBack(Collection<FinanceRequest> financeRequestList)
public void clawBack(Collection<CommissionTrns> commissionTrnsList)
Los dos tienen la misma firma después de borrado, es decir:
Collection<FinanceRequest> --> Collection<Object>
Collection<CommissionTrns> --> Collection<Object>
Así eclipsar complainst que:
Clawback Método (Colección) tiene el mismo Clawback borrado (Colección) como otro método en el tipo de CommissionFacade
¿Alguna sugerencia para reestructurar esto para que siga siendo una solución elegante que hace una buena reutilización del código?
public class CommissionFacade
{
/********FINANCE REQUESTS****************/
public void clawBack(FinanceRequest financeRequest)
{
Collection<CommissionTrns> commTrnsList = financeRequest.getCommissionTrnsList();
this.clawBack(commTrnsList);
}
public void clawBack(Collection<FinanceRequest> financeRequestList)
{
for(FinanceRequest finReq : financeRequestList)
{
this.clawBack(finReq);
}
}
/********COMMISSION TRANSACTIOS****************/
public void clawBack(CommissionTrns commissionTrns)
{
//Do clawback for single CommissionTrns
}
public void clawBack(Collection<CommissionTrns> commissionTrnsList)
{
for(CommissionTrns commTrn : commissionTrnsList)
{
this.clawBack(commTrn);
}
}
}
Me gusta este enfoque también y estoy de acuerdo en que la lógica debe estar en el dominio. Mi ejemplo se parece mucho a una clase de ayuda o utilidad que preferiría evitar. – n4rzul
Gracias Joeri, esta es una solución elegante. – n4rzul