Olá amigo, tudo bem?
estou com uma pequena grande dificuldade em fazer um controller para chamar minhas classes DAO.
Estou desenvolvendo meu Projeto de Faculdade em Flex com o Java, e meu orientador me sugeriu que fizesse o seguinte: Quando clicasse no formulario para cadastrar algo, eu passaria um objeto da respectiva classe para um controlador que, dependendo da instancia do objeto direcionaria para um determinado DAO…
vou exemplificar com um codigo simples
[[color=red]b]Classe ObjPersistente[/b][/color]
public class ObjPersistente {
private int ID;
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
}
[color=red]Classe Cliente[/color]
public class Cliente extends ObjPersistente{
private String nome;
private String endereco;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}
[color=red]Classe DAOCliente[/color]
public class DAOCliente
{
public static boolean cadastrar(Cliente cli)
{
JOptionPane.showMessageDialog(null, cli.getID()+", "+cli.getNome()+", "+cli.getEndereco());
return true;
}
}
Bem, essas tres seriam minhas classes basicas… agora vem o problema… meu controller
public class Controle {
public static void chamarDAO(ObjPersistente obj)
{
//se o obj for da classe cliente
if (obj instanceof Cliente)
{
//faria um hash do obj para a classe cliente
Cliente cli= new (Cliente) obj;
//passa o cli para o DAOCliente fazer o "cadastro"
DAOCliente.cadastrar(cli);
}
}
}
Quando for chamar o controller, ao clicar no botão de cadastro (por exemplo) do form cliente, ele faria o seguinte
// cria um objeto da classe cliente
Cliente cli = new Cliente();
//seta os valores da classe cliente
cli.setID(Integer.parseInt(textCodigo.getText()));
cli.setNome(textNome.getText());
cli.setEndereco(textEndereco.getText());
// isso foi uma suposição minha. Fazer um casting de cli para a variavel obj do tipo
// ObjPersistente...
ObjPersistente obj = (cli);
//Passar o cli pro Controle para decidir que DAO chamar
Controle.chamarDAO(cli);
Bem, gente, como naum entendi direito a explicação do meu orientador e como só o verei daqui dias resolvi perguntar a vcs para ver se podem me ajudar… Está certo esse processo que fiz, pois funcionando está…rs
Testei fazendo mais uma classe Funcionario e um DAOFuncionario para que ele tivesse realmente mais opções para escolha e funcionou perfeitamente.
desde já agradeço a atenção
att…
Junior