IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Récupérer les classes contenu dans un package


Sujet :

Eclipse Platform

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 22
    Points
    22
    Par défaut Récupérer les classes contenu dans un package
    Bonjour,

    Dans le cadre du développement d'un plugin, il faut que je récupère les classes contenu dans un package de façon dynamique.
    Pour cela j'utilise IPackageFragment. Normalement cette classe permet de récupérer des ICompilationUnit, c'est à dire les classes contenu dans le package.
    Avant,je récupère le projet et le package concerné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    IJavaProject project = iJavaElement.getJavaProject();
    	//	System.out.println("ProjectJava " + project.toString());
     
    		IPackageFragmentRoot packageFR;
    		packageFR = project.getPackageFragmentRoot(Utils.getProjectName(newTypeWizradPage));
     
    		IPackageFragment packageF = packageFR.getPackageFragment(Utils.getPackageName(newTypeWizradPage));
    Voici le morceau de code effectuant qui devrait récupérer les classes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ICompilationUnit[] IClass = iPackage.getCompilationUnits();
    Ca ne renvoie rien.

    Si quelqu'un à une idée.

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 46
    Points : 49
    Points
    49
    Par défaut
    d'où sort le "iPackage"? c'est pas packageF qu'il faut utiliser?

    AC

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    Il existe bien une Classe PackageFragment. J'ai regardé dans la classe et il est indiqué d'utiliser la classe IPackageFragment.

  4. #4
    Membre du Club
    Étudiant
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Points : 45
    Points
    45
    Par défaut
    Salut,

    j'ai eu un besoin similaire il y a quelque temps, et j'avais trouvé ce code qui fonctionne a merveille ici.

    ++

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    J'ai fini par trouver la solution. Je n'ai pas fait comme toi, mais ca marche.
    Merci

  6. #6
    Membre habitué Avatar de Tazmanian Devil
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 149
    Points
    149
    Par défaut
    Citation Envoyé par guizzmo
    Il existe bien une Classe PackageFragment. J'ai regardé dans la classe et il est indiqué d'utiliser la classe IPackageFragment.
    Aircraft n'a pas tort, pourquoi utilise tu "iPackage" alors que dans ton code tu a instancié "packageF". De plus, il y a un truc qui me parait bizarre : d'après la doc getPackageFragmentRoot nécessite un chemin vers le Jar (ou une IResource) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    getPackageFragmentRoot(IResource resource)
              Returns a package fragment root for the given resource, which must either be a folder representing the top of a package hierarchy, or a .jar or .zip file.
    getPackageFragmentRoot(String jarPath)
              Returns a package fragment root for the JAR at the specified file system path.
    , quand je vois ton code j'ai l'impression que tu lui fourni le nom de ton projet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    packageFR = project.getPackageFragmentRoot(Utils.getProjectName(newTypeWizradPage));
    .
    [EDIT] on s'est croisé avec le résolu, trop lent le Taz

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 22
    Points
    22
    Par défaut
    j'ai fait une erreur. Puisque je possédais déjà mon package, et je n'avais plus qu'a récupérer les classes. En fait, je récupère les classes contenu dans le package du proet en cours. Un peu comme pour la sélection de package ou de projet quand tu veux créer une classe sous Eclipse.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/06/2015, 09h52
  2. Réponses: 1
    Dernier message: 27/08/2014, 12h52
  3. Récupérer l'info contenue dans les check box
    Par TopCao dans le forum MATLAB
    Réponses: 6
    Dernier message: 04/03/2010, 17h19
  4. [ZF 1.9] Récupérer les resources (déclarée dans Bootstrap) depuis une classe "hors" MVC
    Par cyrille37 dans le forum Autres composants
    Réponses: 2
    Dernier message: 05/09/2009, 14h28
  5. Réponses: 21
    Dernier message: 22/07/2009, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo