Caras,
Gostaria de ter uma interface (de nome Modificavel) na qual uma seria de classes a implementasse (Cliente, Vendedor, etc.),inclusive os Dao's das respectivas classes implemetassem Modificavel. Porem estou a ter problemas na implementacao, tal como podem ver nos codigos abaixo:
public interface Modificavel {
public void registar(Modificavel m);
public void remover(int id);
public void removerTodos(Modificavel m);
public void editar(Modificavel m);
}
Depois ter a classe Cliente
public class Cliente implements Modificavel{
private String nome, contacto, profissao;
private int id;
private String encomenda;
// getters & setters
// implementacao dos metodos de Modificavel
}
E um ClienteDAO..
// imports
public class ClienteDAO implements Modificavel{
private Connection connection;
public ClienteDAO() {
this.connection = new ConnectionFactory().getConnection();
}
@Override
public void registar(Modificavel m) { /* aqui e onde reside o problema. Gostaria de poder implementar todos metodos passando objectos
de classes que implementam Modificavel nas imlementacoes dos metodos de Modificavel. */
String sql = "INSERT INTO cliente (nome, contacto, profissao, encomenda) VALUES (?,?,?,?)";
try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, cliente.getNome()); // erro aqui
statement.setString(2, cliente.getEmail()); // erro aqui
statement.setString(3, cliente.getEncomenda().getTitulo()); // erro aqui
statement.execute();
statement.close();
} catch (SQLException e) {
throw new RuntimeException("Bug ao inserir");
}
}