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

ANT Java Discussion :

[Ant] Utilisation de la méthode clone()


Sujet :

ANT Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut [Ant] Utilisation de la méthode clone()
    Bonjour,

    Je suis confronté à un problème qui peut (je pense) être résolu soit par des dev ANT soit par des dev JAVA...

    Je suis entrain de développer des taches ANT pour produire de la javadoc.

    Concrètement, ma tache principale permet de générer la javadoc de plusieurs projets et je souhaite ne renseigner dans le script Ant qu'un seul tag javadoc contenant les informations du look qu'auront les javadocs. Ensuite dans le code java de la tache je créé dynamiquement plusieurs javadocs ayant les informations contenues dans le script (à ce moment là les taches ont toutes les mêmes infos). Puis, je spécialise chaque tache javadoc en fonction du projet qui lui correspond : je change les chemins des fichiers sources, le classpath, etc.

    Mon problème : pour créer les taches javadoc dynamiquement j'utilise la méthode clone(), le problème est que les attributs des taches javadocs clonées pointent vers la même référence. Ainsi, si je change un attribut, il est aussi changé dans toutes les javadocs.

    Prenons le cas qui m'intéresse : l'attribut sourceFiles (de la classe Javadoc). C'est un attribut privé, il n'y a pas de getter correspondant et son setter n'est pas classique. Le setter ne modifie pas l'attribut, il ajoute les informations renseignées (au lieu de remplacer les fichiers sources, il ajoute à sourceFiles ceux spécifiés en paramètres).
    Vous l'aurez donc compris, après avoir fait setSourceFiles(...) sur chaque tache javadoc (les fichiers sources sont différents pour chq tache), la dernière tache va contenir dans l'attribut sourceFiles toutes les sources de tous les projets.
    Si j'avais un moyen d'initialiser l'attribut sourceFiles entre chaque setSourceFiles ce serait l'idéal, mais en l'occurence il n'existe pas de méthode public le permettant.

    Ma question :

    - (Java) Avez-vous une idée pour que je puisse créer dynamiquement des taches Javadoc qui auraient des attributs totalement différents (n'ayant pas les même références) ? (Bien évidemment je ne peux pas modifier la source du code Javadoc.java)

    - (Ant) Une idée pour faire ce que j'ai expliquer d'une autre manière ?


    Merci à ceux qui auront eu le courage de lire ce message, et merci de votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut
    Pour ceux que ça intéresse, j'ai biaisé en récupérant le champ et en l'initialisant sans passer par un getter ou un setter de Javadoc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		Vector v = new Vector();
    		Field f = Javadoc.class.getDeclaredField("sourceFiles");
    		f.setAccessible(true);
    		f.set(myJavadoc,v);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Ant] utiliser le classpath d'Eclipse avec Ant
    Par XavierZERO dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/03/2007, 14h00
  2. Utilisation de la méthode FIND
    Par Jeannot45 dans le forum Access
    Réponses: 3
    Dernier message: 09/01/2006, 15h41
  3. Réponses: 4
    Dernier message: 11/07/2005, 11h03
  4. [Ant]Utilisation de ANT
    Par pamic dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 24/06/2005, 11h22
  5. [Select()/Focus()] Pb dans l'utilisation de ces méthodes
    Par Kylen dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/06/2005, 14h54

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