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
Et voila mon code python
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
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>(); } }
Petite précision j'ai un warning sur ma méthode setInterfaceCalc qui me dit qu'elle n'est jamais utilisé localement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Pour moi c'est un mystère!!
Partager