3

J'écris un plugin eclipse qui permet à l'utilisateur d'écrire du code java en utilisant un type d'interface utilisateur glisser-déposer. Je suis tombé sur ces deux bibliothèques de génération de code source java. Eclipse JDT AST et modèle de code. Je voudrais comprendre le pour et le contre des deux bibliothèques. D'après ce que j'ai lu et compris:Génération de code source Java: Eclipse JDT AST vs CodeModel

  1. AST est très puissant. En regardant les exemples de code que j'ai vus et le plugin ASTView, je suis pleinement convaincu que nous pouvons écrire n'importe quelle construction java en utilisant cette bibliothèque. Où que je ne pouvais pas trouver beaucoup de documentation ou d'échantillons sur le modèle de code. Donc, je ne suis pas très clair sur son pouvoir. Je voudrais savoir si CodeModel est aussi puissant que AST.

  2. La quantité de code requise pour CodeModel est très inférieure à AST pour obtenir la même fonctionnalité. Avec AST, je peux définitivement réécrire une classe java existante. Je ne pouvais pas trouver quelque chose de semblable dans le cas de CodeModel

J'ai besoin defenitely les fonctionnalités en 1 et 3. Avoir 2 est également un avantage supplémentaire. Je voudrais savoir si codeModel a 1 et 3. S'il vous plaît laissez-moi savoir tous les avantages et les inconvénients de ces deux bibliothèques. Aussi, laissez-moi savoir s'il y a une meilleure bibliothèque que celles-ci.

Note: Je suis à la recherche de génération/manipulation de code source et non de manipulation de code octet.

Merci d'avance.

+0

Il existe un projet qui utilise CodeModel et qui peut générer des classes entières. Marcher à travers peut vous aider, voir [ici] (https://github.com/joelittlejohn/jsonschema2pojo). – fge

Répondre

3

J'ai utilisé Eclipse JDT AST dans mon plugin Eclipse pour la raison suivante:

  1. CodeModel est pas aussi puissant que AST. CodeModel n'a pas beaucoup de constructions java existantes où AST continue de mettre à jour et supporte actuellement jdk 1.7
  2. CodeModel n'a pas d'analyseur. Il ne peut pas lire les fichiers java existants et modifier le code existant.
  3. AST a une grande documentation alors que CodeModel a peu ou pas de documentation.
1

Je ne connais rien à CodeModel, donc je ne peux pas dire si c'est un bon projet. Cependant, puisque vous créez un plugin eclipse, je vous recommande d'utiliser JDT. La raison en est principalement la compatibilité avec d'autres composants Eclipse. L'API JDT AST fonctionne immédiatement avec les autres API Eclipse (l'API de ressources, l'API Java Model, l'API de refactoring, l'API de manipulation de texte et l'API Editor, pour n'en nommer que quelques-unes). JDT est loin d'être simple, mais il est très puissant et s'intègre parfaitement dans le modèle Eclipse.

Questions connexes