Re-bonjour, j'ai dans mon application, un objet A composé d'objet B, qui lui meme est composé d'objet C ( et compose donc A), composé de D qui lui est composé de E, pour cela j'utilise les LinkedList.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public class Compose<T> {
    protected T c; // C l'objet composé
(..)
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public class ComposéDe<T extends Compose> {
    protected LinkedList<T> cde;

ComposéDe()
    {
        cde=new LinkedList<T>();
    }
(...)
    public void effacer()
    {
         // Cf. plus bas
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public class ComposéDeCompose<T1 extends Compose,T2> extends Compose<T2> implements IntComposéDe<T1> {
    protected ComposéDe C;
 
    ComposéDeCompose()
    {
        super();
        C=new ComposéDe();
    }
(...)
 
}
A hérite de ComposéDe<B>, E de Compose<D>, le reste du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public class B extends ComposéDeCompose<C,A>
{
..
}
Je cherche a faire une suppression en cascade, supprimer A reviendrais a supprimer tous ses Objet B, pour lesquels on supprimerais tous leurs Objet C etc
La méthode que je cherche a écrire est la suivante :

Je teste si ma liste est composé d'objet composé d'autres objets, si oui, suppression en cascade, sinon, je supprime les éléments de la liste.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void effacer()
    {
        ListIterator iter=this.cde.listIterator();
        Class cls=this.cde.getClass().getComponentType();
        if(cls instanceof ComposéDeCompose)
        {
           // Suppression 
        }
        else
        {
             while(iter.hasNext())
             {
                 iter.next();
                 iter.remove();
             }
        }
    }
C'est ce qui est en gras qui pose problème, lorsque je fais un essai avec un document par exemple, cette ligne
return this.cde.getClass().getComponentType();
me renvoie null au lieu de page, je comprend pas.
Cette ligne aussi pose problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(cls instanceof ComposéDeCompose)
Cela me dit
inconvertible types
required: document.ComposéDeCompose
found: java.lang.Class

Really need help, ne serait-ce qu'une indication

Merci d'avance