Création d'objet dynamique - Java - Programmation
Marsh Posté le 12-01-2006 à 14:23:34
oui c'est possible, mais il faut faire joujou avec le bytecode (y a des frameworks pour ca: asm, javassist, etc) ou peut etre avec des proxys dynamiques (jdk >= 1.3) cela dit le langage n'est pas vraiment taillé pour ca.
on peut peut etre faire des trucs avec jython et/ou jruby et/ou groovy tout depends de ce que tu veux faire exactement avec ces objets dynamiques
Marsh Posté le 12-01-2006 à 14:27:23
En fait je dois convertir un programme C++ en Java, il réçoit des données XML qui représentent ces objets, et à partir de ces données il crée l'objet pour qu'il puisse être stocké dans une BD spéciale, mais je dois m'occuper uniquement de la création des objets.
Marsh Posté le 12-01-2006 à 17:19:31
Il te faut une bibliotheque de generation de bytecode, genre ASM ou BCEL. C'est relativement facile d'ajouter des champs. Par contre pour les methodes je te conseille plutot l'heritage.
Marsh Posté le 12-01-2006 à 19:21:57
LePhasme a écrit : En fait je dois convertir un programme C++ en Java, il réçoit des données XML qui représentent ces objets, et à partir de ces données il crée l'objet pour qu'il puisse être stocké dans une BD spéciale, mais je dois m'occuper uniquement de la création des objets. |
regarde du cote de jaxb, si tes fichiers xml suivent une dtd, jaxb va te generer tes classes comme un grand
Marsh Posté le 12-01-2006 à 21:26:01
je dis ça comme ça, mais tu peux peutetre regarder du côté du package reflect
Marsh Posté le 12-01-2006 à 22:06:25
Je pensais plutot me diriger vers des objets génériques qui contiendrait les maps, pour les champs/methodes, mais vous m'avez fait découvrir des choses intéressantes.
Marsh Posté le 12-01-2006 à 14:01:05
Bonjour, je voudrais savoir si il est possible de créer des objets dynamique ( créer un objet, lui ajouter des champs/méthodes ) en Java, et si oui avec quelles classes et/ou quelles méthodes, j'ai cherché sur google mais je trouve rien de bien interessant.
Je pense créer un objet qui contiendrait des vectors ou des maps, mais reste le problème changement du type de l'objet et du nom des champs/méthodes ( quoi que ca pourrait plus ou moin résolu via des maps ).