Bonjour à tous,
Je cherche la meilleure façon pour générer des façades sur des classes annotées.
J'ai un bean de ce type :
Et je voudrais générer une méthode de façade du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @MyServiceAnnotation(...) public class MyServiceImpl implement MyService { public String query(String demande) throws MyServiceException { return ...; } ...
L'idée étant d'obliger mes clients SOA à invoquer les services avec des paramètres de sécurité qui sont hors métier et qui donc ne devraient pas être codés encore et encore...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @MyServiceAnnotation(...) public class MyServiceImpl implement MyService { private String query(String demande) throws MyServiceException { return ...; } public String query(String ID, String demande) throws MyServiceException { if (id == null) throw new MyServiceException("erreur sécurité"); return this.query(demande); } ...
J'ai entendu parler d'interceptors ; mais je ne suis pas certain de comprendre comment injecter des paramètres contextuels via mes proxies.
J'ai envisagé l'AOP mais même si je peux pointer sur les méthodes #query cela ne force pas le client à passer les paramètres attendus (pas de contrat).
NB : j'utilise déjà APT pour générer des configurations basées sur ces mêmes annotations ; mais je débute en génération de code.
Merci d'avance pour vos idées. Thomas.
Partager