Bonjour,
Je souhaite fournir aux packages clients du mien une liste de méthodes globales et spécifiques. Voici un exemple pour illustrer (comme le petit robert) :
Soit Book, un bean.
Soit IBookBusiness une interface donnant accès aux opérations spécifiques disponible sur un Book.
Soit IGlobalBusiness une interface donnant accès aux opérations génériques que l'ont peut faire dans l'absolu.
Je voudrais que mes clients en utilisant une implémentation de l'interface IBookBusiness aient accès à la fois aux méthodes de celle-ci mais aussi à celles de IGlobalBusiness.
Il va de soit que mon implémentation de IBookBusiness ne doit pas implémenter elle même les méthodes de IGlobalBusiness (cela ne serait plus global du tout)
Je bloque après avoir essayé pas mal de trucs car au final, seules les méthodes de IBookBusiness sont visibles par le client.
Exemple par le code :
L'interface IBook et son implémentation
L'interface IGlobal et son implémentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public interface IBookBusiness { void reserverBook(); } public class BookBusinessImpl implements IBookBusiness { public void reserverBook() { // Specific book stuff here } }
Le code d'appel par le client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public interface IGlobalBusiness { void globalSutff(); } public class GlobalBusinessimpl implements IGlobalBusiness{ public void globalSutff() { // Global stuff here } }
En espérant avoir été clair, merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public testBook(){ IBookBusiness bookBusiness = new BookBusinessImpl(); bookBusiness.globalSutff(); // ne marche pas actuellement }
Partager