Não quero tornar os métodos “save” públicos e não gostaria de ter que verificar de que tipo é obj com todos esse IFs…
public <T> void store(T obj) throws SQLException{
if (obj instanceof Cotacao)
save((Cotacao) obj);
if (obj instanceof Departamento)
save((Departamento) obj);
if (obj instanceof Fornecedor)
save((Fornecedor) obj);
if (obj instanceof Solicitacao)
save((Solicitacao) obj);
if (obj instanceof ItemSolic)
save((ItemSolic) obj);
if (obj instanceof Familia)
save((Familia) obj);
if (obj instanceof Mercadoria)
save((Mercadoria) obj);
if (obj instanceof Funcionario)
save((Funcionario) obj);
}
private void save(Cotacao cotacao) throws SQLException{
}
private void save(Fornecedor fornecedor) throws SQLException{
}
...
etc
...