Jython Java interface et singleton
Bonjour à tous
Voila j'ai un petit problème dont je ne trouve pas la solution et ça commence serieusement à me casser les bijoux de familles ^^.
C'est un petit sample pour tester un peu les limites de jython pour un projet que je réalise dans lequel j'utilise du jython.
J'ai donc une interface Calculette qui possède 2 méthodes, add et sub et son implémentatin CalculetteImpl.
J'ai une classe InterfaceProvider (qui est un singleton) dans lequel je stock des objet qui pourrait être de différents types et que je retrouve grâce à une key (j'utilise HashTable). Je lance un main qui fait un exec sur mon fichier python
Voila le code de mon interfaceProvider
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public class InterfaceProvider {
private Hashtable<String, Object> hashTable;
private static InterfaceProvider interfaceProvider;
public static InterfaceProvider getInstance(){
if(interfaceProvider == null){
interfaceProvider = new InterfaceProvider();
}
return interfaceProvider;
}
public Hashtable<String, Object> getHashTable(){
return hashTable;
}
public void setHashTable(String key, Object comp)
{
hashTable.put(key, comp);
}
private void setInterfaceCalc(Calculette calc, String key){
setHashTable(key, calc);
}
private InterfaceProvider(){
hashTable = new Hashtable<String, Object>();
}
} |
Et voila mon code python
Code:
1 2 3 4 5 6 7 8 9 10
| from td.test.component import Calculette
from td.test.component import CalculetteImpl
from td.test.interfaceprovider import InterfaceProvider
int = InterfaceProvider.getInstance()
calc = CalculetteImpl()
int.setInterfaceCalc(calc,"Calculette")
res = int.getHashTable().get("Calculette")
result = res.add(2,3)
print 'res=%d' %result |
Petite précision j'ai un warning sur ma méthode setInterfaceCalc qui me dit qu'elle n'est jamais utilisé localement...
Pour moi c'est un mystère!!