Bonjour, Je vous expose mon probleme, veuillez repondre le plus tot possible. Merci J'ai une classe Factory que j'ai cree moi-meme et qui permet de : • désérialiser un document document.xml et le récupérer dans un objet doc ; • ajouter des articles dans le tableau de type Tbl de l’objet doc ; • Une fois les lignes ajoutées dans le tableau et les modifications du numéro de la facture et de l’auteur sont faites sur l’objet doc, ce dernier va être sérialiser dans le fichier doc2.xml; • Le document doc2.xml devra en théorie contenir dans ses balises les articles ajoutes, mais ce dernier ne contient que plusieurs occurrences de la dernière ligne ajoutée. Problème de clonage de l’objet ligne Tr : L’objet Tr contient lui-même plusieurs objets : objet TrPr propriétés de la ligne Tr, une liste de l’objet colonne Tc (List<Tc> ). Je mets la classe Tr et toutes les classes qui la compose Cloneable ; Je surdéfinis le méthode Clone dans la classe Tr de façon a ce qu’elle clone tous les objets Tc qu’elle contient : for(int i=0;i<ligne.getTc().size();i++){ligne.getTc().set(i,this.tc.get(i).clone());} C’est pas suffisant parce qu’il faut aussi surdéfinir aussi la méthode clone dans la classe Tc de tel façon a ce qu’elle puisse cloner tous ses sous objets qu’elle contient, ce qui veut dire une autre boucle : for(int i=0;i<(int)getP().size();i++){colonne.p.add((P)p.get(i).clone());} c’est la ou ca bloque: mémoire insuffisante !!! si je supprime cette ligne les colonnes ne sont pas cloner, mais ils font références sur les colonnes originales.
Marsh Posté le 09-06-2007 à 15:54:40
Bonjour,
Je vous expose mon probleme, veuillez repondre le plus tot possible. Merci
J'ai une classe Factory que j'ai cree moi-meme et qui permet de :
• désérialiser un document document.xml et le récupérer dans un objet doc ;
• ajouter des articles dans le tableau de type Tbl de l’objet doc ;
• Une fois les lignes ajoutées dans le tableau et les modifications du numéro de la facture et de l’auteur sont faites sur l’objet doc, ce dernier va être sérialiser dans le fichier doc2.xml;
• Le document doc2.xml devra en théorie contenir dans ses balises les articles ajoutes, mais ce dernier ne contient que plusieurs occurrences de la dernière ligne ajoutée.
Problème de clonage de l’objet ligne Tr :
L’objet Tr contient lui-même plusieurs objets : objet TrPr propriétés de la ligne Tr, une liste de l’objet colonne Tc (List<Tc> ).
Je mets la classe Tr et toutes les classes qui la compose Cloneable ;
Je surdéfinis le méthode Clone dans la classe Tr de façon a ce qu’elle clone tous les objets Tc qu’elle contient :
for(int i=0;i<ligne.getTc().size();i++){ligne.getTc().set(i,this.tc.get(i).clone());}
C’est pas suffisant parce qu’il faut aussi surdéfinir aussi la méthode clone dans la classe Tc de tel façon a ce qu’elle puisse cloner tous ses sous objets qu’elle contient, ce qui veut dire une autre boucle :
for(int i=0;i<(int)getP().size();i++){colonne.p.add((P)p.get(i).clone());}
c’est la ou ca bloque: mémoire insuffisante !!!
si je supprime cette ligne les colonnes ne sont pas cloner, mais ils font références sur les colonnes originales.
---------------
h.noua