Programmation java

Fermé
maye - 5 oct. 2011 à 10:14
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 5 oct. 2011 à 16:47
Bonjour,



Quelqu'un peut me donner une idée comment faire en java pour générer des classes automatiquement à l'exécution. j'en ai aucune idée.
Merci pour votre aide.
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié par KX le 5/10/2011 à 11:00
J'aurai tendance à dire que le moyen le plus naturel est de faire :
1) édition de code source .java (traitement de fichiers avec File, OutputStream...)
2) compilation avec javac (avec exec) ce qui nécessite que l'utilisateur ai une jdk installée
3) chargement dynamique des nouvelles classes (ClassLoader et compagnie)

Evidemment tout ceci dépend de ce que tu veux faire exactement, de plus le passage de l'étape 2 à 3 dépend d'éventuelles erreurs à la compilation.
La confiance n'exclut pas le contrôle
0
Merci pour ta réponse, mais peux tu me donner plus de détails parce que je suis débutante en java. merci d'avance
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 oct. 2011 à 11:48
Je vois difficilement comment t'aider plus vu que tu es resté assez vague sur ce que tu voulais faire.
En plus je ne crois pas que ce soit accessible à un débutant ! Voici un peu de documentation :
1) Lesson: Basic I/O (commence par le début, c'est idiot mais je préfère préciser)
2) Runtime.exec(String command) pour lancer une commande externe (javac en l'occurence)
3) ClassLoader et en particulier les ClassLoader.defineClass
0
Merci beaucoup,
Pour être claire, j'ai un TP à faire où je dois générer le code java automatiquement
il faut que je représente un automate composé de deux états , deux événements et deux transitions sur une feuille ecxel, puis lire cet automate en java puis integrer le code pour chaque fichier excel crée (les éléménts de l'automate) et générer le code correspondant sur la base du patron état-transition.

Sachant que j'ai déja fais le code java de l'automate à base du patron état/ transition puis j'ai représenté mon automate sur une feuille excel à l'aide d' un tableau.

donc je veux bien qu'à chaque fois que je rajoute un élément sur le tableau, générer le code java correspondant basé sur le patron état/transition.*
Merci d'avance
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 oct. 2011 à 12:23
Générer le code Java ce n'est pas le plus dur, il te suffit de créer un fichier et d'y mettre les données de ta classe de base en y spécifiant ce qui change à chaque fois.

Exemple : je veux générer une classe Toto"N" qui a un champ "valeur" égal à "N" :

public static String toto(int n)
{
    return "public class Toto"+n+" { public static final int n = "+n+"; }";
}

Je n'ai alors plus qu'à mettre cette chaîne de caractères dans autant de fichier Toto"N" que je veux en choisissant bien sûr des n différents à chaque fois.
Toi ce qui changera d'une classe sur l'autre ce n'est pas mon entier n, mais les éléments de l'automate.

Le plus dur c'est l'étape compilation/chargement dynamique, mais si c'est juste le code source java que tu veux créer il ne s'agit que de la simple manipulation de fichiers...
0
merci,
si par exemple pour le premier état, je parcours la ligne de ma feuille excel et je crée des fichier java tant qu'il ya des éléments à lire sur ma feuille, puis dedans, je mettrai le code correspondant à cet état selon le patron état/transition, est ce que c'est là que je met ton code que tu m'as donné ou dans le main, je ne comprend pas vraiment.
0