caster type Object en un autre type
:salut:
Je travaille sur un projet web avec struts avec EJB3.
Mais le pb qui m'amène ici est plus général au langage java.
J'ai 2 EJB qui sont :
- DrEntity
- DictEntity.
Ces 2 classes possèdent les mêmes noms de méthodes à la différence que DictEntity possèdent 2 méthodes supplémentaires.
J'ai volontairement séparés les 2 car elles représentent 2 tables différentes en BD
Lorsque je récupère un enregistrement du DrEntity ou DictEntity, je veux initialiser les champs de mon bean avec.
Mon problème est le suivant :
afin de maintenir plus facilement mon code source, je ne veux pas dupliquer la fonction d'init de mon bean en fonction que je charge les données provenant de DrEntity ou DictEntity.
Alors j'ai essayé ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
dr -> objet de type DrEntity déjà initialisé
dict -> objet de type DictEntity déjà initialisé
sType -> objet de type String déjà initialisé
db -> objet qui represente mon bean déjà initialisé
Object demande = null;
if(sType.equals("dr")
demande = dr;
else
demande = dict;
db.setId(demande.getId());
db.setNom(demande.getNom()); |
Alors, jusque là :
Code:
1 2 3 4 5 6
|
Object demande = null;
if(sType.equals("dr")
demande = dr;
else
demande = dict; |
ca marche, mais pour la suite, j'ai une erreur signalé par eclipse me disant que mon objet demande ne possède pas les méthodes getId() et getNom(). :?
Le résultat ne m'étonne pas, alors j'ai pensé au classe générique, mais dans mon cas, je ne sais pas comment l'appliquer :cry:
Alors, si quelqu'un a une idée, je suis preneur, car j'ai horreur de dupliquer du code pour rien :fessee:
Merci d'avance :king: