Je travaille actuellement sur un projet d'Eclipse RCP et j'ai les classes suivantes qui sont interne à Eclipse (donc je ne peux/doit pas les modifier).
J'ai besoin de lire la sortie différement que ce que fait Eclipse. Pour cela j'ai créé une classe qui étend CLIInfoThreadInfo. (dedans je parse la sortie console différement, bref).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 //Classe générique pour définir une commande dont la sortie est lue via une classe de type V public class CLICommand<V extends MIInfo> { .... } //classe définissant la commande pour avoir les infos sur les threads public class CLIInfoThread extends CLICommand<CLIInfoThreadInfo> { .... } //classe pour lire la sortie de la command CLIInfoThread CLIInfoThreadInfo extends MIInfo { .... }
Mon problème est que je ne peux modifier la classe CLIInfoThred pour indiquer que le type de CLICommand n'est plus CLIInfoThreadInfo mais CustomCLIInfoThreadInfo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //classe perso pour lire la sortie des infos thread public class CustomCLIInfoThreadInfo extends CLIInfoThreadInfo { .... }
Sachant que je veux conserver le corps de la classe CLIInfoThred j'ai d'abord pensé à creer une sous-classe :
Seulement je ne peux définir que le typage de la super-super classe doit être différent. Y a-t-il un moyen de le définir ici ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //classe fille de CLIInfoThred public class CustomCLIInfoThread extends CLIInfoThread { .... }
Pour l'instant je contourne le problème en créant une classe parallèle à CLIInfoThred ce qui me permet de définir le typage. Mais cela duplique le code car le corps de ma classe parallele est le même que celui de CLIInfoThred.
Y a-t-il une meilleure solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //classe parallèle à CLIInfoThred public class CustomParallelCLIInfoThread extends CLICommand<CustomCLIInfoThreadInfo> { .... }
Partager