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 :
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 ...;
	}
...
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
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);
	}
...
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...
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.