Salut,

Je suis en train de rajouter une fonctionnalité pour un logiciel. Mais cette fonctionnalité est spécifique pour un client. Il faut donc que la version standard d'un produit puisse fonctionner sans cette librairie.

L'integration de ma librairie se font dans un bout de code du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
if (myFeatureIsEnabled)
{
     Class  myClass = Class.forName ("com........myManager");
 
      ...
}
Ainsi le chargement de ma libraire s'effecture dynamiquement
et uniquement si la fonctionnalité est activée ! Super !

Sauf que...

après avoir chargé la classe. Je l'instancie avec un "myClass.newInstance()".
Ce qui me retourne un Object. Or moi je veux appeler des méthodes
de cet objet. Et surtout les methodes qui m'interresse, par exemple
"slowSync()".

Mais ensuite vient une cascade de contraintes :

1) Or pour pouvoir appeler les méthodes de mon object, il faut faire un cast sur l'objet retourné par newInstance().
2) Mais pour faire le cast il faut faire "import com......myClass" en début de
la classe Java.
3) Pour faire le "import" il faut que le JAR de ma librairie soit disponible
lors de la compilation du logiciel.
4) Problème dans sa version standard le logiciel doit pouvoir compiler
sans cette libraire !

Aie !

Quelqun aurait pas une idée ?