Voila je vais expliquer en details :
J'ai un projet admettons dans mon home /home/moi/projet/
Dans /home/moi/projet/src/ j'ai mes sources
Dans /home/moi/projet/classes/ j'ai mes fichiers classes (*.class)
Je fais un scan de fichiers a partir de mon /home/moi/projet/
en recuperant tous les fichiers *.class (donc ceux qui se trouvent dans mon /home/moi/projet/classes
Ces fichiers correspondent donc a des fichiers bytecode java (des fichiers semi compiles prets a etre executé par la jvm)
Maintenant je voudrais savoir comment faire pour créer l'objets correspondant a chaque fichier *.class
Le Class.forName(String s) me permet de construire un objet a partir d'une chaine de caracteres , il faut donc lui passer paquetage1.souspaquetage.MonObjet et la il cré la Class associé a mon objet. Or ici ce n'est pas le cas, car a priori je ne connais qu'un path d'un fichier .class (ex : "classes/MonObjet.class" ) et donc je ne connais pas a priori la string qui correspondra a nom du paquetage de l'objet... Je ne peux donc pas y appliquer la methode Class.forName(). Je pourrais utiliser Class.forName() si tous les objets n'etait pas inscrit dans des paquetages et recuperant juste "MonObjet" et en le passant a Class.forName().
En gros ,c'est pour un systeme de plug ins, on pourra i rajouter des fichiers *.class n'importe ou dans la racine de mon projet , ces fichiers *.class pourront appartenir ou non a des paquetages. et mon programme devra charger l'objet correspondant dynamiquement... Donc le Class.forName() ne peut pas s'appliquer dans tous les cas
Je voudrais juste savoir comment faire?
merci